encode/decode/unicode/python脚本文件编码
# 字符串通过编码成为字节码 str1 = "张三" bytes = str1.decode(encoding="utf-8") # 字节码通过解码成为字符串 str2 = bytes.encode(encoding="utf-8") print str2

写代码时,在字符串前加 u,表示这是 unicode 字符串(未编码),说的准确点就是字节码,用十六进制表示就是这串 \u674e\u56db:

用 unicode 在线解码工具也可以验证这点:

另外,对于 Python2.x 版本开头一般会加 coding: utf-8,表示声明 python 代码的文本格式是 utf-8 编码的,即告诉 python 解释器要按照 utf-8 编码的方式来读取程序,因为在 Python2.x 的版本中,文本默认采用的是 ASCII 编码,而Python3.x 的版本中,默认使用的就是 UTF-8 编码格式,所以就不需要在前面进行声明了。