關於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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM