python2和python3中的编码问题

来源:互联网 发布:lte速率优化 编辑:程序博客网 时间:2024/05/16 17:32

a = ‘中文’
在python2中是utf-8格式的编码
在python3中是unicode格式【unicode可以encode成任意其他格式的编码】的编码

在python2中,字符串的表现形式以及编码解码如下

a = '中文'a'\xe4\xb8\xad\xe6\x96\x87'b = a.decode('utf-8')bu'\u4e2d\u6587'

综上所述,在python2中,中文是使用指定的utf-8进行编码的,可以对其解码成unicode的格式(代码中的变量b)

而在Python3中:

In [1]: a = '中文'In [2]: b = a.encode('utf-8')In [3]: bOut[3]: b'\xe4\xb8\xad\xe6\x96\x87'

中文直接就是unicode了,可以对其进行encode【只有unicode才能encode】