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

Python GBK編碼

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

因為ASCII碼表里面,根本就沒有中文的對照關系,只能敲英文字符,我們敲得英文字符首先是轉成ASCII碼表里面對應的二進制數(shù),然后存到內(nèi)存里。

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

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

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

這個時候是沒有亂碼問題的,也不可能有亂碼的問題,因為現(xiàn)在是ASCII碼表一統(tǒng)天下。

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

毫無疑問,ASCII碼表的標準不能在計算機里做為唯一的標準來使用了,需要換一種標準。

于是我們就開始制定自己的標準,這個標準就叫GBK,GBK其實也很簡單,也就是字符和數(shù)字的對應關系,只是增加了中文字符,比ASCII碼表長一點而已。

但是這個時候我們再采用8位二進制數(shù),來對應一個字符,很明顯就不夠用了,8位只能表示256個數(shù),中文字符那么多,完全不夠用,那么89位不夠用,就繼續(xù)加位數(shù)。

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

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

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

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

這就是因為編碼的問題,由于8位二進制數(shù)足夠表示英文字符的,所以GBK還是繼續(xù)保持繼續(xù)用8位二進制數(shù)來表示英文字符。

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

如果都保持統(tǒng)一,英文字符也用16位二進制數(shù)的話,其實是對內(nèi)存空間的一種浪費,因為你英文字符根本就用不到16位。

前面都用0來占著位置,這就太浪費了。

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

贊 (0) 打賞

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

支付寶掃一掃打賞

微信掃一掃打賞