Python:Unicode和UTF-8之间的关系

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhang_yin_liang/article/details/82729046

一、Unicode和UTF-8

参考网址:https://blog.csdn.net/xiaolei1021/article/details/52093706/

实例:

打开"记事本"程序Notepad.exe,新建一个文本文件,内容就是一个"严"字,依次采用ANSI,Unicode,Unicode big endian 和 UTF-8编码方式保存。

然后,用文本编辑软件UltraEdit中的"十六进制功能",观察该文件的内部编码方式。

1)ANSI:文件的编码就是两个字节"D1 CF",这正是"严"的GB2312编码,这也暗示GB2312是采用大头方式存储的。

2)Unicode:编码是四个字节"FF FE 25 4E",其中"FF FE"表明是小头方式存储,真正的编码是4E25。

3)Unicode big endian:编码是四个字节"FE FF 4E 25",其中"FE FF"表明是大头方式存储。

4)UTF-8:编码是六个字节"EF BB BF E4 B8 A5",前三个字节"EF BB BF"表示这是UTF-8编码,后三个"E4B8A5"就是"严"的具体编码,它的存储顺序与编码顺序是一致的。

二、python3中的UNICODE 与 UTF-8的简单关系

python3解释器中自带UTF-8编码器,python2中不自带,所以需要手动设置: #coding:utf-8

一般程序猿们开始码字的时候,习惯了新建PHP或者html文件都是先新建一个txt文档然后改名字和后缀,但是windows默认新建文档为ANSI编码的,这个让我很惆怅,每次都需要我们自己手动转码。

参考网址:https://blog.csdn.net/Thoms_/article/details/81482487

猜你喜欢

转载自blog.csdn.net/zhang_yin_liang/article/details/82729046
今日推荐