Python 3.x的编码问题

Python 3的源码.py文件的默认编码方式为UTF-8(Python 2.x的默认编码格式为unicode)。
encode的作用,使我们看到的直观的字符转换成计算机内的字节形式。
decode刚好相反,把字节形式的字符转换成我们看的懂的、直观的、“人模人样”的形式。

下面给个例子:

import sys
print(sys.getdefaultencoding())

u = '奔跑吧,哈哈哈'
u1 = u.encode('GBK') # 将u编码成GBK编码格式的字节形式
print(u1)
u2 = u.encode('UTF-8') # 将u编码成UTF-8编码格式的字节形式
print(u2)

u3 = b'xe5xa5x94xe8xb7x91xe5x90xa7xefxbcx8cxe5x93x88xe5x93x88xe5x93x88'.decode('UTF-8') # 将字节形式解码成-8的编码格式
print(u3)

输出结果:

参考:
关于Python 2.x与Python3.x的编码问题(http://blog.csdn.net/mickeymouse1928/article/details/70168794)

原文地址:https://www.cnblogs.com/wsygdb/p/7825340.html