关于编码的几个认识
1.输入字符时,我们是通过操作系统完成这个功能的。操作系统以其默认的编码方式生成计算机能够识别的“01”串,并把01串传递给程序。
2.如何查看操作系统的编码方式?
操作:(1)WIN+R;(2)cmd;(3)chcp;
查看到代码页为:936。
部分代码页及其对应编码方式
代码页 国家(地区)或语言
437 美国
863 加拿大 - 法语
866 俄语 - 西里尔文(DOS)
932 日文(Shift-JIS)
936 中国 - 简体中文(GB2312)
949 韩文
950 繁体中文(Big5)
1200 Unicode
1201 Unicode (Big-Endian)
50000 用户定义的
50220 日文(JIS)
50221 日文(JIS-允许一个字节的片假名)
50222 日文(JIS-允许一个字节的片假名 - SO/SI)
50225 韩文(ISO)
50932 日文(自动选择)
50949 韩文(自动选择)
51932 日文(EUC)
51949 韩文(EUC)
52936 简体中文(HZ)
65000 Unicode (UTF-7)
65001 Unicode (UTF-8)
当给一个字符串变量赋值时,就是以默认的编码方式形成01串传递给程序。如果某个文本文件和操作系统编码方式不一致,就会出现乱码。
3.python怎样处理各式各样编码方式的文本?
python首先要解码(decode)字符串。就是说,如果知道字符串的编码,就用该编码decode字符串,python就会识别出字符内容,建一个int数组,将每个字符的unicode序号存进去。这样就可以确保在程序运行过程中各种来源的字符串有统一标准。任何文本,只要它进入程序时进行一次decode,就会变成unicode对象,然后文本要输出时再进行一次encode,编码成我们需要的编码就可以了。
4.python给我们提供了一个很简单的办法,只要在字符串前面加一个u,它就会帮我们探测系统的编码,并自动完成decode。