设为首页 收藏本站
查看: 1204|回复: 0

[经验分享] Python之Win字符编码详解

[复制链接]

尚未签到

发表于 2018-8-15 06:45:30 | 显示全部楼层 |阅读模式
Win下的dos窗口输出中文
  Python2.7默认字符编码是ascii格式,即使指定字符编码为UTF-8也未必能够输出中文,测试如下:
#_*_coding:utf-8_*_# 定义一个变量内容为中文,字符集为UTF-8temp = "中文"  # 输出变量temp的内容print(temp)
  用win下的dos窗口执行这个脚本,看看输出出来的是否为中文
C:\Users\anshe>python F:\Python_code\sublime\Day02\print.py涓枃        #输出出来的是乱码  这是为什么呢?其实是因为dos窗口的字符编码是GBK的(如下图),规定输出的字符集必须是GBK的,所以输出出来的中文即为乱码。

  注意我是用的是Python2.7.11
C:\Users\anshe>python -VPython 2.7.11  使用Pycharm或者sublime的Python>输出中文流程

  流程中文说明:
  Py Scripts头部指定编码格式为UTF-8 —> IDE把默认的Ascii格式编码成UTF-8 —-> IDE终端输出中文


  •   用sublime>
# _*_ coding:utf-8 _*_# 定义一个变量内容为中文,字符集为UTF-8temp = "中文"  # 输出变量temp的内容print(temp)
  输出的内容:

  既然这样,python的编码能够把ascii编码还换成UTF-8那么肯定也就可以转换成GBK编码,流程如下:

  代码如下:
# _*_ coding:utf-8 _*_# 定义一个变量内容为中文,字符集为UTF-8temp = "中文"  # 解码,需要指定原来是什么编码temp_unicode = temp.decode("utf-8")
  # 编码,需要指定要转换成什么编码temp_gbk = temp_unicode.encode("gbk")
  # 输出转换成的gbk编码print(temp_gbk)
  Dos窗口执行测试:
C:\Users\anshe>python F:\Python_code\sublime\Day02\print.py中文  另外一种方法:
  代码:
# _*_ coding:utf-8 _*_# 定义一个变量内容为中文,字符集为UTF-8temp = "中文"  # 解码,需要指定原来是什么编码temp_unicode = temp.decode("utf-8")
  # 输出转换成的gbk编码print(temp_unicode)# Windows终端需要GBK,DOS自动转换成GBK
C:\Users\anshe>python F:\Python_code\sublime\Day02\print.py中文  大概流程也就像下面的图一样

  python3移除了unicode字符集的类型,默认使用UTF-8,还有一种也可以在dos终端输出中文的方法,代码如下:
# _*_ coding:utf-8 _*_print(u"中文")  DOs窗口输出的就是中文了,虽然我也不知道是什么意思
C:\Users\anshe>python f:\Python_code\sublime\Day02\print.py中文

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-551873-1-1.html 上篇帖子: python-第三课 下篇帖子: python Web开发的参考书
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表