GB2312我國1980年制定的漢子編碼規範 ,爲7位雙字節編碼(共128*128),爲了避開ASCII編碼中的控制字符(0~31和127)以及空格符(32),最後只剩下94位可用,遵循ISO 2022標準的編碼方案都是如此。可是後來發現雖然包含了大部分的經常使用漢子,可是中國漢字文化,博大精深,很快就發現不少漢字不支持,不夠咱們使用了。windows
由於GB2312的這些問題,國家標準化委員會又制定了GB13000,GB13000制定的原則與GB2312不一樣,GB13000以國際化爲目標, 該標準編碼參照了Unicode 2.0 標準編碼,與GB2312徹底不兼容,因早期的計算機中的漢卡採用了GB2312,沒法順利向GB13000過渡,因此GB13000變成了一個紙面上的 標準,沒法推廣.......編碼
因此咱們改進以後,國家標準化委員會制定了GBK標準,他兼容GB2312標準,同時在GB2312標準的基礎上擴展了GB13000包含的字,能夠說是承上啓下,編碼修改後一經推出,就被WINDOWS95所採用,能夠說是windows幫助了GBK的推廣。其編碼範圍從8140至FEFE(剔除xx7F),共23940個碼位,共收錄了21003個漢字,spa
GBK編碼分爲三大部分:code
1. 漢字區。包括:
a. GB 2312 漢字區。即 GBK/2: B0A1-F7FE。收錄 GB 2312 漢字 6763 個,按原順序排列。
b. GB 13000.1 擴充漢字區。包括:
(1) GBK/3: 8140-A0FE。收錄 GB 13000.1 中的 CJK 漢字 6080 個。
(2) GBK/4: AA40-FEA0。收錄 CJK 漢字和增補的漢字 8160 個。CJK 漢字在前,按 UCS 代碼大小排列;增補的漢字(包括部首和構件)在後,按《康熙字典》的頁碼/字位排列。
(3) 漢字「〇」安排在圖形符號區GBK/5:A996。字符編碼
2. 圖形符號區。包括:
a. GB 2312 非漢字符號區。即 GBK/1: A1A1-A9FE。其中除 GB 2312 的符號外,還有 10 個小寫羅馬數字和 GB 12345 增補的符號。計符號 717 個。
b. GB 13000.1 擴充非漢字區。即 GBK/5: A840-A9A0。BIG-5 非漢字符號、結構符和「〇」排列在此區。計符號 166 個。class
3. 用戶自定義區:分爲a.b.c三個小區。
a. AAA1-AFFE,碼位 564 個。
b. F8A1-FEFE,碼位 658 個。
c. A140-A7A0,碼位 672 個。
第c區儘管對用戶開放,但限制使用,由於不排除將來在此區域增補新字符的可能性。基礎
GBK以後又有GB18030標準,2000年3月17日發佈的漢字編碼國家標準,是對GBK編碼的擴充,覆蓋中文、日文、朝鮮語和中國少數民族文字,其中收錄27484個漢字。GB18030字符集採用單字節、雙字節和四字節三種方式對字符編碼,兼容GBK和GB2312字符集。因GB18030較GBK又多了幾千漢字,碼位不足,GB18030使用了2byte與4byte混合編碼方式,這又給軟件增長了難題,因此雖然GB18030推出了好久,仍然沒有獲得普遍應用。擴展