Python 3.x 默認采用 UTF-8 編碼格式,有效地解決了中文亂碼的問題。
目前我們公司采用的是Python 2.x。
在 Python 中,有 2 種常用的字符串類型,分別為 str 和 bytes 類型,其中 str 用來表示 Unicode 字符,bytes 用來表示二進制數據。
str 類型和 bytes 類型之間就需要使用 encode() 和 decode() 方法進行轉換。
Python encode()方法
encode() 過程稱為“編碼” : str 類型 → bytes 類型
encode() 方法的語法格式:
str.encode([encoding="utf-8"][,errors="strict"])
注意,格式中用 [] 括起來的參數為可選參數,也就是說,在使用此方法時,可以使用 [] 中的參數,也可以不使用。
該方法各個參數的含義如表 1 所示。

注意,使用 encode() 方法對原字符串進行編碼,不會直接修改原字符串,如果想修改原字符串,需要重新賦值。
Python decode()方法
decode() 過程稱為“解碼” : bytes 類型的二進制數 → str 類型
decode() 方法的語法格式如下:
bytes.decode([encoding="utf-8"][,errors="strict"])
該方法中各參數的含義如表 2 所示。
出現報錯:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe8 in position 0: ordinal not in range(128)
可以在開頭添加如下代碼:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')

