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