python中字串編碼轉換
阿新 • • 發佈:2019-01-14
字串編碼轉換程式設計師最苦逼的地方,什麼亂碼之類的幾乎都是由漢字引起的。
其實編碼問題很好搞定,只要記住一點:
任何平臺的任何編碼,都能和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字符集記性編碼的一種編碼格式