python2.x 中中間編碼爲unicode,一個字符串須要decode爲unicode,再encode爲其它編碼格式(gbk、utf8等)html
以gbk轉utf8爲例: python
s = "我是字符串" #gbk編碼 s = s.decode('gbk').encode('utf8') #將gbk編碼轉換爲utf8編碼,須要先轉換爲unicode中間編碼,再轉換爲utf8編碼
具體過程爲:編碼
s | gbk --- decode('gbk') ---> s | unicode --- encode('utf8') ---> s | utf8spa
代碼中的 顯式字符串 默認編碼爲代碼文件的編碼格式,若是開頭沒有#coding=[]聲明,則默認編碼爲ascii型(因此存儲中文會有問題).net
若是開頭聲明瞭,例如:code
#coding=gbkhtm
則代碼中一個顯式字符串,例如:blog
s = '我是字符串'ip
字符串s會被編碼成 gbk 格式存儲ci
詳見:python字符串編碼及亂碼解決方案 講的不錯
Python字符編碼詳解 這個也能夠看一看
Freecode# : www.cnblogs.com/yym2013