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

Python 天下大同

由于直接用Unicode編碼存到硬盤,會(huì)有一個(gè)IO增多的問題,于是聰明的人類有設(shè)計(jì)了一個(gè)版本叫UTF-8。

英文全稱是Unicode Transformation Format。翻譯過來(lái)就是Unicode的轉(zhuǎn)換格式。

所以說UTF-8本質(zhì)就是Unicode,只是它把Unicode轉(zhuǎn)換了,把英文字符對(duì)應(yīng)的二進(jìn)制數(shù)轉(zhuǎn)成了1個(gè)字節(jié),1個(gè)字節(jié)就是8位。

把中文字符統(tǒng)一都用3個(gè)字節(jié)表示,當(dāng)然原本Unicode是用2個(gè)字節(jié)表示中文,現(xiàn)在變成3個(gè)字節(jié)了。

不要只看片面的東西,說中文更加浪費(fèi)空間了。因?yàn)閁TF-8本身是針對(duì)Unicode進(jìn)行整體上的精簡(jiǎn)。所以說UTF-8在整體上,一定是比Unicode更加精簡(jiǎn)的。

Unicode里面,有的生僻字可能會(huì)用4個(gè)字節(jié),甚至8個(gè)字節(jié)。

現(xiàn)在詳細(xì)講解編碼解碼的概念。

轉(zhuǎn)成Unicode二進(jìn)制數(shù)的這個(gè)過程我們稱之為編碼,Unicode轉(zhuǎn)成UTF-8或者GBK以及其他老的編碼方式的過程我哦么也稱之為解碼。

UTF-8或者其他編碼方式轉(zhuǎn)成Unicode的過程我們稱之為解碼,然后Unicode轉(zhuǎn)成我們的字符的這個(gè)過程我們也稱之為解碼。

編碼:字符--->編碼--->unicode--->編碼--->UTF-8\GNK
解碼:字符<---解碼<---unicode<---解碼<---UTF-8\GNK

內(nèi)存里是固定使用Unicode編碼的,我們唯一可以改變的是,錄入硬盤的時(shí)候采用Unicode跟哪種編碼進(jìn)行轉(zhuǎn)換?到底是Unicode轉(zhuǎn)成GBK,還是Euc-kr?

但是咱們應(yīng)該轉(zhuǎn)成的是UTF-8,因?yàn)閁TF-8是兼容萬(wàn)國(guó)字符的,而且也比Unicode更精簡(jiǎn)。

那為什么我們不把內(nèi)存里也直接換成UTF-8呢?還要Unicode干什么呢?這樣不是內(nèi)存里是最精簡(jiǎn)的,硬盤里也是最精簡(jiǎn)的嗎?

但是要注意一個(gè)問題,Unicode不僅僅是兼容萬(wàn)國(guó)字符,它還充當(dāng)了一個(gè)中介的功能,它與以前那些老的字符編碼有對(duì)應(yīng)關(guān)系。

所以咱們現(xiàn)在內(nèi)存里仍然使用的是Unicode編碼,這樣能夠使得從過去的諸侯并起的編碼方式,過渡到現(xiàn)在最理想的UTF-8會(huì)更加的平滑。

所以從現(xiàn)在開始,對(duì)于專業(yè)人士來(lái)說,所有的新文件,再往硬盤存的時(shí)候就應(yīng)該存UTF-8的格式。

這樣當(dāng)我們硬盤上的數(shù)據(jù)越來(lái)越多,等過五六十年的時(shí)候,硬盤上那些老的編碼方式的文件徹底被淘汰了,全都是UTF-8格式的文件了。

到那個(gè)時(shí)候Unicode就可以徹底下崗了,內(nèi)存里就可以直接使用UTF-8格式了。

于是計(jì)算機(jī)又回到了那個(gè)天下大同的局面了,我們也就再也不會(huì)遇到亂碼問題了。

未經(jīng)允許不得轉(zhuǎn)載:445IT之家 » Python 天下大同

贊 (0) 打賞

相關(guān)推薦

    暫無(wú)內(nèi)容!

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

支付寶掃一掃打賞

微信掃一掃打賞