關(guān)于python中的字符串編碼理解
python2.x 中中間編碼為unicode,一個字符串需要decode為unicode,再encode為其它編碼格式(gbk、utf8等)
以gbk轉(zhuǎn)utf8為例:
s = "我是字符串" #gbk編碼
s = s.decode('gbk').encode('utf8') #將gbk編碼轉(zhuǎn)換為utf8編碼,需要先轉(zhuǎn)換為unicode中間編碼,再轉(zhuǎn)換為utf8編碼
具體過程為:
s | gbk --- decode('gbk') ---> s | unicode --- encode('utf8') ---> s | utf8
代碼中的 顯式字符串 默認(rèn)編碼為代碼文件的編碼格式,如果開頭沒有#coding=[]聲明,則默認(rèn)編碼為ascii型(所以存儲中文會有問題)
如果開頭聲明了,例如:
#coding=gbk
則代碼中一個顯式字符串,例如:
s = '我是字符串'
字符串s會被編碼成 gbk 格式存儲
詳見:python字符串編碼及亂碼解決方案 講的不錯
Python字符編碼詳解 這個也可以看一看
Freecode# : www.rzrgm.cn/yym2013

浙公網(wǎng)安備 33010602011771號