天天看點

關于python中的字元串編碼了解

python2.x 中中間編碼為unicode,一個字元串需要decode為unicode,再encode為其它編碼格式(gbk、utf8等)

以gbk轉utf8為例: 

s = "我是字元串"   #gbk編碼
s = s.decode('gbk').encode('utf8')  #将gbk編碼轉換為utf8編碼,需要先轉換為unicode中間編碼,再轉換為utf8編碼      

 具體過程為:

s | gbk --- decode('gbk') ---> s | unicode --- encode('utf8') ---> s | utf8

代碼中的 顯式字元串 預設編碼為代碼檔案的編碼格式,如果開頭沒有#coding=[]聲明,則預設編碼為ascii型(是以存儲中文會有問題)

如果開頭聲明了,例如:

#coding=gbk

則代碼中一個顯式字元串,例如:

s = '我是字元串'

字元串s會被編碼成 gbk 格式存儲

詳見:python字元串編碼及亂碼解決方案   講的不錯

        Python字元編碼詳解  這個也可以看一看

Freecode# : www.cnblogs.com/yym2013