1. 程式人生 > >python中字串編碼轉換

python中字串編碼轉換

字串編碼轉換程式設計師最苦逼的地方,什麼亂碼之類的幾乎都是由漢字引起的。
其實編碼問題很好搞定,只要記住一點:

任何平臺的任何編碼,都能和Unicode互相轉換。

UTF-8與GBK互相轉換,那就先把UTF-8轉換成Unicode,再從Unicode轉換成GBK,反之同理。

注意:在python3中encode,在轉碼的同時還會把string 變成bytes型別,decode在解碼的同時還會把bytes變回string

 

# 這是一個 UTF-8 編碼的字串
utf8Str = "你好地球"

# 1. 將 UTF-8 編碼的字串 轉換成 Unicode 編碼
unicodeStr = utf8Str.decode("
UTF-8") # 2. 再將 Unicode 編碼格式字串 轉換成 GBK 編碼 gbkData = unicodeStr.encode("GBK") # 1. 再將 GBK 編碼格式字串 轉化成 Unicode unicodeStr = gbkData.decode("gbk") # 2. 再將 Unicode 編碼格式字串轉換成 UTF-8 utf8Str = unicodeStr.encode("UTF-8")

decode的作用是將其它編碼的字串轉換成Unicode編碼
encode的作用是將Unicode編碼轉換成其他編碼的字串
一句話:UTF-8是對Unicode字符集記性編碼的一種編碼格式