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