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

Python GBK編碼

上章講完了ASCII碼表,現(xiàn)在假設(shè)我們就處于這個(gè)時(shí)代,只有ASCII碼表,我作為一個(gè)電腦的使用者,我在這里打字,我是不能敲中文字符的。

因?yàn)锳SCII碼表里面,根本就沒有中文的對(duì)照關(guān)系,只能敲英文字符,我們敲得英文字符首先是轉(zhuǎn)成ASCII碼表里面對(duì)應(yīng)的二進(jìn)制數(shù),然后存到內(nèi)存里。

但是內(nèi)存里的數(shù)據(jù)是斷電立馬就丟失掉了,所以我們要永久保存的話,就要存到硬盤里。

現(xiàn)在內(nèi)存里存的是二進(jìn)制,當(dāng)然,我們存硬盤,里面也是存的二進(jìn)制格式所以直接把我們內(nèi)存里的二進(jìn)制放到硬盤里就可以了。

現(xiàn)在我要打開這個(gè)硬盤里的文件,那就是把這個(gè)二進(jìn)制數(shù)據(jù)讀到內(nèi)存然后再參考ASCII碼表把這個(gè)二進(jìn)制數(shù)據(jù)反向解碼成對(duì)應(yīng)的字符,文件就打開了。

這個(gè)時(shí)候是沒有亂碼問題的,也不可能有亂碼的問題,因?yàn)楝F(xiàn)在是ASCII碼表一統(tǒng)天下。

接著咱們中國(guó)人看到了,就把美國(guó)人的計(jì)算機(jī)買過來了,買過來以后發(fā)現(xiàn)不行啊,我買了你的計(jì)算機(jī),我只能敲英文字符,中文字符不能接寫,那怎么辦?

毫無(wú)疑問,ASCII碼表的標(biāo)準(zhǔn)不能在計(jì)算機(jī)里做為唯一的標(biāo)準(zhǔn)來使用了,需要換一種標(biāo)準(zhǔn)。

于是我們就開始制定自己的標(biāo)準(zhǔn),這個(gè)標(biāo)準(zhǔn)就叫GBK,GBK其實(shí)也很簡(jiǎn)單,也就是字符和數(shù)字的對(duì)應(yīng)關(guān)系,只是增加了中文字符,比ASCII碼表長(zhǎng)一點(diǎn)而已。

但是這個(gè)時(shí)候我們?cè)俨捎?位二進(jìn)制數(shù),來對(duì)應(yīng)一個(gè)字符,很明顯就不夠用了,8位只能表示256個(gè)數(shù),中文字符那么多,完全不夠用,那么89位不夠用,就繼續(xù)加位數(shù)。

最后加到了16位,而2的16次方是65536。其實(shí)世界上人們所用的字符沒我們想象的那么多。

小日子過的不錯(cuò)的國(guó)家都知道吧!他們其實(shí)抄襲了我們很多漢字,比如‘女’這個(gè)字,他們國(guó)家也用,只是可能意思和我們不太一樣。

所以說世界上那么多符號(hào),其實(shí)很大一部分都是一樣的,65536那么多數(shù)字已經(jīng)基本上足夠容納世界上大部分字符了。

但是我們?cè)谶M(jìn)行GBK編輯的時(shí)候,只是把中文字符和英文字符編進(jìn)去了,事實(shí)上GBK也不是把所有的中文字符都編碼進(jìn)去了,你會(huì)發(fā)現(xiàn)是特別生僻的字的話,你打電腦根本就不會(huì)打出來。

這就是因?yàn)榫幋a的問題,由于8位二進(jìn)制數(shù)足夠表示英文字符的,所以GBK還是繼續(xù)保持繼續(xù)用8位二進(jìn)制數(shù)來表示英文字符。

用16位二進(jìn)制數(shù)表示中文字符。

如果都保持統(tǒng)一,英文字符也用16位二進(jìn)制數(shù)的話,其實(shí)是對(duì)內(nèi)存空間的一種浪費(fèi),因?yàn)槟阌⑽淖址揪陀貌坏?6位。

前面都用0來占著位置,這就太浪費(fèi)了。

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

贊 (0) 打賞

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

支付寶掃一掃打賞

微信掃一掃打賞