2 編碼格式的發展史

2022-07-02 17:30:15 字數 1552 閱讀 7866

1、為什麼要去了解編碼格式的發展史?

為了以後不被編碼搞得頭大

2、編碼格式的祖先:ascii

很早之前,計算機只在美國,美國人為了能在計算機上列印他們自己國家的語言,他們用8個可以開合的電晶體來組成不同的狀態,來表示他們國家的字元

並將其稱為「位元組」,那為什麼是8個(女朋友也問過這個問題)?

答:如果是乙個bit,也就是只有乙個電晶體,那最多也只能表示兩種狀態,也就是兩個字元,兩個電晶體就是4種狀態,顯然並不能把他們的字母啥的都表

示出來,那最後他們發現2**7也是就0-127種狀態就夠用,那2**8是為什麼?-----留一些餘地,也就是擴充套件字元,顯然後面就用上了。。

3、群雄並起:gbk、shift-jis(日文)、euc-kr(韓文)

之後計算機使用愈發廣泛,各個國家都希望能在計算機中輸出自己國家的語言,於是乎 在原來ascii的基礎上,誕生了各個國家自己的一套編碼格式,如

中國的gbk、日本的shift-jis、南韓的euc-kr;

gb2312:當中國用上計算機的時候,ascii表 已經滿了(早期擴充套件字元是空位,後面逐漸補上的),而我們還有6000+個常用漢字需要儲存。那就自己搞吧,

就把原來127後面的奇怪的 字元都去除。規定:乙個小於127 的字元意義和之前一樣,兩個大於127 的字元連在一塊就表示乙個漢字(兩個位元組表示乙個中文);

gbk:之前的6000+個漢字不夠用,於是就有了gbk標準,gbk向下相容,又增加近20000個漢字

gb18030:對gbk的補充,增加了8000+個少數民族的字,延用至今

4、統一:unicode

各個國家搞出一套自己 的編碼標準,結果誰也不支援誰的編碼;當時要想在電腦上顯示、輸入中文,就要在裝乙個字元系統,裝錯了那就亂套了,其他國家亦如是。。

這個時候iso(國際標準化組織)就站出來,說我制定一套統一的標準,大家按這個標準來,就有了unicode編碼(萬國碼),那這個unicode編碼肯定需要具備以下特點:

這個特點就尤為重要,因為unicode出來,我不可能完全按你的unicode來,那我之前儲存在計算機中的gbk檔案不就沒用了,相當於推倒重來。

5、優化:utf-8、utf-16

unicode也向下相容,但是將原來的8位乙個位元組 擴充套件成了16位,也就是說,你在pc中存放純英文文字時,較之前浪費了一倍的空間,這就有了utf編碼。

utf(unicode  transfer format):其中utf8,表示8位傳輸資料,utf16就表示任何字元都以16位傳輸,這裡的傳輸表示的是存到硬碟中的 一種狀態,肯定優先選擇

utf8。因為在utf8編碼下,使用1-4個位元組表示乙個字元,原來的ascii還是以8位存在硬碟中,而中文則是以3個位元組,也就是24位存放。

最後總結:根據自己文件包含的內容來設定編碼格式,如只有中文和英文的就可以使用gbk,如果含有其他字元,建議使用utf8。一般使用utf8編碼,較為靈活,更不容易

出亂碼問題。

計算機編碼發展史

很久很久以前,有一群人,他們決定用8個可以開合的電晶體來組合成不同的狀態,以表示世界上的萬物。他們看到8個開關狀態是好的,於是他們把這稱為 位元組 再後來,他們又做了一些可以處理這些位元組的機器,機器開動了,可以用位元組來組合出很多狀態,狀態開始變來變去。他們看到這樣是好的,於是它們就這機器稱為 計...

IT薪水發展史

1k 兄弟別做it了,不論你是什麼公司,國營的做it就是配角,那位兄弟願意一輩子做配角,非國營的嗎,看看做什麼別的合適,it不好混,趁早離開 1k 3k 初級階段,一般是剛進公司的,肯定非常缺錢,這時候動力足,也有時間,沒有男 女朋友拖累,象公司內部5k 6k的高手學習。什麼,沒有,什麼爛公司,你也...

記憶體發展史

記憶體 容量 指標 時期出現原因 simm記憶體 30pin 256kb 1982年至今 軟體程式和新一代80286硬體平台的出現 simm記憶體 72pin 512kb 2mb 1988 1990 pc迎來386和486時代,cpu向16bit發展 edo dram 4 16mb 電壓 5v 頻寬...