久久久精品2019免费观看_亚洲国产精品成人久久久_69国产成人综合久久精品91_国产精品久久精品视

Python 編碼與解碼

廢了那么多的章節(jié)講字符編碼,最終只需要記住一個結(jié)論就行了,關(guān)于前兩個階段的亂碼問題,我們只需要加上文件頭就解決了。

這個文件頭指定的編碼方式,就指定成你保存文件時用的編碼就可以了。

a = '人'

這個變量值是直接存成了Unicode格式的對吧,前面我們提過,Unicode轉(zhuǎn)成其他編碼格式,這個過程我們叫編碼,然后其他編碼轉(zhuǎn)成Unicode我們叫解碼。

這個a下面有個方法叫encode。

這個方法叫編碼,然后我傳一個參數(shù)GBK給它。

a.encode('gbk')

這就是把Unicode轉(zhuǎn)成了GBK,然后用一個變量值來接收這個返回值,再打印一下這個res。

res = a.encode('gbk')  
print(res, type(res))

我們可以在網(wǎng)上找到,人這個字的Unicode編碼轉(zhuǎn)成GBK格式,Unicode是4EBA,轉(zhuǎn)成GBK就是484B。

但是它真正存到硬盤里面,是需要加上標(biāo)識頭的,結(jié)果應(yīng)該是C8CB,我們打印出來的是一樣的。

前面還有個小寫的b,我們再來打印下類型看。

Unicode編碼成其他格式,這個類型就叫bytes類型。

那Unicode轉(zhuǎn)換成這種byets類型有什么用呢?說白了這個類型就是一串GBK格式的二進制嘛,只是我們打印出來看到的是16進制的,其實本質(zhì)就是一串二進制數(shù)。

這串二進制數(shù)第一個用途就是可以寫入到硬盤里去。

第二個用途就是可以研網(wǎng)絡(luò)進行傳輸,比如你寫的程序要和其他老的平臺進行數(shù)據(jù)交互,老平臺可能只識別GBK。

這時候我們python3的Unicode就不能直接傳給對方了,要encode成GBK或者其他老平臺支持的編碼方式當(dāng)然你也可以去嘗試encode程UTF-8或者其他的都行。

好了,回歸正題。

這個GBK我想轉(zhuǎn)成Unicode就要對它進行解碼了。

print(res.decode('gbk'))

解碼也是按GBK來解,再打印一下。

打印出來,又變成了人這個字符了。

關(guān)于字符編碼的相關(guān)知識,到這里簡單的就全部介紹完畢了,接下來要學(xué)習(xí)的就是怎么用python來操作文件。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 編碼與解碼

贊 (0) 打賞

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

微信掃一掃打賞