Python——文件編碼

編碼的演變

Python編碼

python2

Python指定編碼

  • 在文件頭部增加 -*-coding:utf8-*-

需知:

1.在python2默認編碼是ASCII, python3里默認是unicode

2.unicode 分為 utf-32(占4個字節),utf-16(占兩個字節),utf-8(占1-4個字節), so utf-16就是現在最常用的unicode版本, 不過在文件里存的還是utf-8,因為utf8省空間

3.在py3中encode,在轉碼的同時還會把string 變成bytes類型,decode在解碼的同時還會把bytes變回string

編碼encode解碼decode

Python2 中 decode方法

  • 在Python2中decode方法可以將字符串編碼為unicode
  • encode方法可以解碼為指定的編碼
s_to_unicode= s.decode("utf-8")
s.encode("gbk") 編碼為gbk
#此處要指定原始編碼
print(s.decode())

python3

  • 在python3中默認編碼就為Unicode
msg = "我愛北京天安門"
#msg_gb2312 = msg.decode("utf-8").encode("gb2312")
msg_gb2312 = msg.encode("gb2312") #默認就是unicode,不用再decode,喜大普奔
gb2312_to_unicode = msg_gb2312.decode("gb2312")
gb2312_to_utf8 = msg_gb2312.decode("gb2312").encode("utf-8")
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容