博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python之Win字符编码详解
阅读量:6525 次
发布时间:2019-06-24

本文共 1362 字,大约阅读时间需要 4 分钟。

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的,所以输出出来的中文即为乱码。

python-day02-01
注意我是用的是Python2.7.11

C:\Users\anshe>python -VPython 2.7.11

使用Pycharm或者sublimePython IDE输出中文流程

python-day02-02

流程中文说明:

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

  • 用sublime IDE输出

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

输出的内容:

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

# _*_ 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中文

大概流程也就像下面的图一样

python-day02-04
python3移除了unicode字符集的类型,默认使用UTF-8,还有一种也可以在dos终端输出中文的方法,代码如下:

# _*_ coding:utf-8 _*_print(u"中文")

DOs窗口输出的就是中文了,虽然我也不知道是什么意思

C:\Users\anshe>python f:\Python_code\sublime\Day02\print.py中文

转载地址:http://twjbo.baihongyu.com/

你可能感兴趣的文章
MyBatis原理简介和小试牛刀
查看>>
js部分基础
查看>>
脏读,幻读,不可重复读解释和例子
查看>>
Tomcat指定(JDK路径)JAVA_HOME而不用环境变量
查看>>
银行卡信息安全事件频发 互联网站成数据泄露"重灾区"
查看>>
云服务器 ECS 使用OpenAPI管理ECS:使用OpenAPI弹性创建ECS实例
查看>>
写个软件来防止服务器网站CPU百分百
查看>>
智能城市里,“公共电话亭”的存在意味着什么?
查看>>
JVM分代垃圾回收策略的基础概念
查看>>
《交互式程序设计 第2版》一3.5 捕获简单用户交互行为
查看>>
5G技术的5大猜想
查看>>
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
查看>>
别随便安装 Pokemon GO被曝藏恶意后门
查看>>
让数据会思考会说话,为出海企业提供多样化数据智能解决方案
查看>>
我眼中的自动化测试框架设计要点
查看>>
FLIF:自由的无损图像格式
查看>>
Google开源Inception-ResNet-v2,提升图像分类水准
查看>>
Opera 出售细节曝光:昆仑出资1.68亿美元
查看>>
CentOS 5.3 下快速安装配置 PPTP ××× 服务器
查看>>
产品经理学习总结之技术和设计篇
查看>>