無碼不成字——編解碼淺析

計算機(jī)剛誕生時,只能顯示數(shù)字,但我們現(xiàn)在可以在互聯(lián)網(wǎng)上看到各個國家的文字,甚至各種象形符號,但計算機(jī)只認(rèn)識0和1,這到底是怎么做到的?

計算機(jī)基本計量單位

bit

位,數(shù)據(jù)存儲的最小單位。在計算機(jī)中的二進(jìn)制數(shù)系統(tǒng)中,簡記為b,也稱為比特。每個0或1就是一個位(bit)?!?”是低電平,“1”是高電平,恰好代表了電路的兩種狀態(tài)。

byte

字節(jié),簡記為B,是字符構(gòu)成的最小單位,1byte=8bit。歷史上字節(jié)長度曾基于硬件為1-48比特不等,最初通常使用6比特或9比特為一字節(jié)。今日事實(shí)標(biāo)準(zhǔn)以8比特作為一字節(jié)。

編碼表

計算機(jī)只認(rèn)識0和1,8個0或1組成一個字節(jié),字節(jié)再組成字符,那么計算機(jī)就可以通過0和1表示各種字符了。字節(jié)到字符這個過程叫做編碼——把1個字節(jié)或多個字節(jié)映射成一個字符。編碼本來很簡單,設(shè)定一個編碼規(guī)則就可以,但由于各個國家的語言不同和歷史的原因,當(dāng)今存在很多種不同的編碼規(guī)則

ASCII[1]

American Standard Code for Information Interchange,美國信息交換標(biāo)準(zhǔn)代碼,使用的是計算機(jī)在美國發(fā)明的時候使用的編碼表——ASCII碼表。用一個字節(jié)的7位就可以表示,也就是能表示128個字符,對于只有26個字母的英語來說也夠用了。

IOS-8859-1[2]

當(dāng)計算機(jī)傳到歐洲時,歐洲所有語言顯然不止26個字母,ASCII這套編碼規(guī)則是不適用了。所以采用了編碼規(guī)則,又名拉丁碼表。IOS-8859-1也是單字節(jié)編碼,而且對ASCII向下兼容,也就是說,拓展了ASCII沒有利用的那1位,能表示256個字符。

GB2312和GBK

后來計算機(jī)來到中國,中華文化博大精深,漢字怎么也得有幾萬個吧,之前的ASCII和IOS-8859-1都是單字節(jié)編碼,單字節(jié)8位一共才能表示256個字符,顯然不夠用。所以中國國家標(biāo)準(zhǔn)總局1980年發(fā)布了信息交換用漢字編碼字符集——GB2312,GB2312是用雙字節(jié)編碼,兩個字節(jié)16位可以表示65536個字符。后來全國信息技術(shù)標(biāo)準(zhǔn)化技術(shù)委員會制訂了漢字內(nèi)碼擴(kuò)展規(guī)范——GBK,對GB2312進(jìn)行了一次向下兼容的升級。同時GB2312和GBK也兼容ASCII,所以英文永遠(yuǎn)不會產(chǎn)生亂碼。

Unicode

Unicode又稱統(tǒng)一碼,它對世界上大部分的文字系統(tǒng)進(jìn)行了整理、編碼。需要注意的是,Unicode只是一個用來映射字符和數(shù)字的標(biāo)準(zhǔn)。它對支持字符的數(shù)量沒有限制,也不要求字符必須占兩個、三個或者其它任意數(shù)量的字節(jié)。
Unicode的實(shí)現(xiàn)方式不同于編碼方式。一個字符的 Unicode 編碼是確定的。但是在實(shí)際傳輸過程中,由于不同系統(tǒng)平臺的設(shè)計不一定一致,以及出于節(jié)省空間的目的,對 Unicode 編碼的實(shí)現(xiàn)方式有所不同。Unicode 的實(shí)現(xiàn)方式稱為 Unicode轉(zhuǎn)換格式(Unicode Transformation Format,簡稱為 UTF)。Unicode有多種實(shí)現(xiàn)方式,UTF-32、UTF-16、UTF-8等,其中UTF-8是最常用的一種。
UTF-8是一種可變長度字符編碼,也是一種前綴碼。它可以用來表示Unicode標(biāo)準(zhǔn)中的任何字符,且其編碼中的第一個字節(jié)仍與ASCII兼容。關(guān)于UTF-8的編碼規(guī)則可以看這里


  1. ASCII碼表 ?

  2. IOS-8859-1碼表 ?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容