python

[url]http://blog.csdn.net/moodytong/article/details/8136258[/url]

字符串編碼常用類型:utf-8,gb2312,cp936,gbk等。

python中,我們使用decode()和encode()來進行解碼和編碼

在python中,使用unicode類型作爲編碼的基礎類型。即

decode encode

str ---------> unicode --------->str

u = u'中文' #顯示指定unicode類型對象u
str = u.encode('gb2312') #以gb2312編碼對unicode對像進行編碼
str1 = u.encode('gbk') #以gbk編碼對unicode對像進行編碼
str2 = u.encode('utf-8') #以utf-8編碼對unicode對像進行編碼
u1 = str.decode('gb2312')#以gb2312編碼對字符串str進行解碼,以獲取unicode
u2 = str.decode('utf-8')#如果以utf-8的編碼對str進行解碼得到的結果,將無法還原原來的unicode類型
如上面代碼,str\str1\str2均爲字符串類型(str),給字符串操作帶來較大的複雜性。

好消息來了,對,那就是python3,在新版本的python3中,取消了unicode類型,代替它的是使用unicode字符的字符串類型(str),字符串類型(str)成爲基礎類型如下所示,而編碼後的變爲了字節類型(bytes)但是兩個函數的使用方法不變:

decode encode

bytes ------> str(unicode)------>bytes

u = '中文' #指定字符串類型對象u
str = u.encode('gb2312') #以gb2312編碼對u進行編碼,獲得bytes類型對象str
u1 = str.decode('gb2312')#以gb2312編碼對字符串str進行解碼,獲得字符串類型對象u1
u2 = str.decode('utf-8')#如果以utf-8的編碼對str進行解碼得到的結果,將無法還原原來的字符串內容
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章