線上學習: [撩課-JavaWeb系列1之基礎語法-前端基礎][撩課-JavaWeb系列2之XML][撩課-JavaWeb系列3之MySQL][撩課-JavaWeb系列4之JDBC][撩課-JavaWeb系列5之web伺服器-idea] 一、字元集的由來 二、ASSCII 三、unicode 四、U ...
線上學習:
[撩課-JavaWeb系列1之基礎語法-前端基礎]
[撩課-JavaWeb系列2之XML]
[撩課-JavaWeb系列3之MySQL]
[撩課-JavaWeb系列4之JDBC]
[撩課-JavaWeb系列5之web伺服器-idea]
一、字元集的由來
電腦只能識別二進位代碼
無論是電腦程式還是數據,
最終都會轉換成二進位,
電腦才能認識。
為了電腦不只能做科學計算,
也能處理文字信息。
人們想出了給每一個文字元號編碼
以便於計算識別處理的辦法,
這就是電腦字元集的由來。
二、ASSCII
一套文字元號及其編碼,比較規則 的集合。
20世紀60年代初
美國標準化組織ANSI發佈了第一個字元集。
ASCII
後來又進一步變成了國際標準ISO-646
各大字元集
自ASCII後。
為了處理不同的文字。
各大電腦公司,各國,標準化政府,
組織先後發明瞭幾百種字元集。
`ISO-8859`
`GB2312-80`
`GBK`
`BIG5`
這些五花八門的字元集
從收錄的字元集到編碼規則各不相同。
給電腦軟體開發和移值
帶來了很大的困難。
一個軟體要在使用
不同文字的國家和地區發佈,
必須得要做本地化開發。
基於這個原因,要統一字元編碼。
三、unicode
為了統一字元編碼。
國際標準化組織ISO的一些成員國於1984年
發起制定了新的國際字元集標準。
容納全世界各種語言,文字,和 符號。
最後這個標準ISO-10646
ISO-10646發佈後,
遭到了美國電腦公司的反對。
1988年,Xerox公司提議制定了
新的以16位編碼人統一字元集。
並聯合不Apple,IBM,SUN,Microsoft等
公司成立了Unicode技術委員會。
專門負責收集,整理,和編碼。
於1991年推出了Unicode1.0
都是為了字元編碼統一問題,
ISO和Unicode協會推出了連個不同人標準。
這顯然是不利的。
後來雙方開始談判。
1991年10月達成協議。
ISO將Unicode收編。
起了個名BMP
四、UTF-16
ISO-10646編碼空間足以容納
從古自今使用過的文字和字元。
但很多文字字元已經很少用了。
超過99%的在用文字字元都編入了BMP.
因此,絕大部分情況下。
`Unicode`雙位元組方式都能滿足需求。
而且比雙位元組編碼方式4位元組原始編碼來說,
更節省記憶體和處理時間 。
這也是`Unicode`流行的原因。
`Unicode`提出了`UTF-16`的解決辦法。
五、UTF-8
雖然UTF-16解決了上面問題。
但當時的電腦和網路世界還是ASCII的天下。
只能處理單位元組數據流。
UTF-16離開了Unicode環境後。
在傳輸和處理中,
都存在問題。
於是又提出了UTF-8的解決文案,
`UTF-8`按一定的規則,
將一個`ISO10646`或`Unicode`轉換成1至4個位元組的編碼
其中ASCII轉成單位元組編碼。
也就嚴格相容了`ASCII`字元集。
`UTF-8`的2,3,4位元組
用以轉換ISO-10646標準的UCS-4原始碼。
六、GB2312
《信息交換用漢字編碼字元集》是由中國國家標準總局1980年發佈,
1981年5月1日開始實施的一套國家標準,
標準號是[GB 2312]—1980。
GB2312編碼適用於漢字處理、
漢字通信等系統之間的信息交換,
通行於中國大陸;
新加坡等地也採用此編碼。
中國大陸幾乎所有的中文系統
和國際化的軟體都支持GB 2312。
基本集共收入漢字6763個
和非漢字圖形字元682個。
整個字元集分成94個區,
每區有94個位。
每個區位上只有一個字元,
因此可用所在的區和位來對漢字進行編碼,
稱為[區位碼]
七、GBK
GBK全稱《漢字內碼擴展規範》
GBK即“國標”、
“擴展”漢語拼音的第一個字母
GBK 向下與 GB 2312 編碼相容,
向上支持 ISO 10646.1[國際標準]
是前者向後者過渡過程中的
一個承上啟下的產物。
GBK編碼,是在[GB2312-80]標準基礎上的
[內碼]擴展規範,
使用了雙[位元組編碼方案,
其編碼範圍從8140至FEFE(剔除xx7F),
共23940個碼位,共收錄了21003個漢字,
完全相容[GB2312-80]標準,
支持國際標準ISO/IEC10646-1
和國家標準`GB13000-1`中的
全部中日韓漢字
並包含了`BIG5`編碼中的所有漢字。