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'\xe5\xa5\x94\xe8\xb7\x91\xe5\x90\xa7\xef\xbc\x8c\xe5\x93\x88\xe5\x93\x88\xe5\x93\x88'.decode('UTF-8') # 将字节形式解码成-8的编码格式
print(u3)
输出结果:
参考:
关于Python 2.x与Python3.x的编码问题(http://blog.csdn.net/mickeymouse1928/article/details/70168794)