字符编码问题

------------恢复内容开始------------

所有的计算机都支持unicode编码。    unicode编码映射了世界上所有国家的字符编码集。

所以任何编码的字节都可以通过计算机转换成unicode

python3  中默认解释器编码为utf-8

解释的时候解释器默认按照utf-8的编码加载到内存,然后转换为unicode

python3  运行打印 汉字   路飞学城

在cmd中没有乱码(windows电脑在中国只支持gbk)为什么没有乱码呢?
因为cmd终端显示的是unicode     unicode支持所有的语言。

pycharm 默认文件编码是utf-8

python2   你以什么编码开头去解释,python2就以什么编码加载到内存,而且并不会将其转换为unicode,意味着在cmd终端不能直接打印出来

只有两种情况,在windows下才不会乱码:

1.字符串以gbk格式显示

2.字符串以unicode格式显示

解码和编码

utf-8------->decode------>unicode    解码

unicode--------->encode--------->utf-8、gbk    编码

1 # coding:utf-8
2 a = '中国'
3 print a
4 b = a.decode('utf-8')  # 变为unicode编码   以什么编码保存的就要以什么编码解码,解码后变为unicode
5 
6 print b

------------恢复内容结束------------

原文地址:https://www.cnblogs.com/ch2020/p/13622729.html