Python-字符编码
结论:
1.内存固定使用unicode,我们可以改变的是存入硬盘采用格式
英文+汉字--->unicode--->gbk
英文+日文--->unicode--->shift-jis
万国字符--->unicode--->utf-8
2.解决文件存取乱码问题
存乱了:解决方法是,硬盘编码格式应该设置成支持文件内字符串的格式
取乱了:解决方法是,文件是以什么编码格式存入硬盘的,就应该以什么编码格式读入内存
3.python解释器默认读取文件的编码
python3默认:utf-8
python2默认:ASCII
指定文件头修改默认的编码:
在py文件的首行写:
#coding:gbk #指定的编码是当初文本编译器存取到硬盘所采用的编码格式,与py文件首行指定的一致。py编译器读取才不会乱码
#coding:gbk 管的是读内容,存内容是编辑器的编码
4.保证运作python程序前两个阶段不乱码的核心法则:
指定文件头
#coding:gbk #指定的编码是当初文本编译器存取到硬盘所采用的编码格式,与py文件首行指定的一致
5.python3的str类型默认直接存成unicode格式,无论如何都不会乱码
保证python2的str类型不乱码
x=u"上"
6.了解
python2解释器有两种字符串类型:str、unicode
#str类型
x="上" #字符串值会按照文件头指定的编码格式存储字符串类型的值的(如果文件头中没有指定编码,那么解释器会按照它自己默认的编码方式来存储‘上’)
# unicode类型
x=u"上" #强制存成unicaode

浙公网安备 33010602011771号