Python2和Python3的编码问题
1.编解码
1.1Unicode编码
Unicode(统一码、万国码、单一码)是计算机科学领域里的一项业界标准,包括字符集、编码方案等。Unicode 是为了解决传统的字符编码方案的局限而产生的,它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。
1.2编码方式
字符集:为每一个字符分配一个唯一的 ID(码位 / 码点 / Code Point)。
编码规则:将码位转换为字节序列的规则(编码/解码可以理解为 加密/解密的过程)。
为了将Unicode字符转成bytes,需要进行编码,常见的编码方案有:utf-16, utf-32, ucs-2, ucs-4, utf-8
2.Python中的编解码
1.Python2
- str:是比特序列
- Unicode:code points序列
1 | >>> my_string = "Hello World" |
(1).eccode()和.decode()
unicode.encode()→bytes//encode函数就是将unicode转换成bytes
bytes.decode()→unicode//对应的解码过程就是将bytes转成unicode