GBK
范圍: 0×8140 - 0xFEFE
GB2312-80 僅收漢字 6763 個,這大大少于現有漢字,隨著時間推移及漢字文化的不斷延伸推廣,有些原來很少用的字,現在變成了常用字,例如:朱鎔基的“鎔”字,未收入 GB2312-80,現在大陸的報業出刊只得使用(金+容)、(金容)、(左金右容)等來表示,形式不一而同,這使得表示、存儲、輸入、處理都非常不方 便,對于搜索引擎等軟件的構造來說也不是好消息,而且這種表示沒有統一標準。從我們對人民日報 98 年數據的處理過程中,得出這樣的經驗:回填外字最困難的就是如何得到這種表示方法的集合。
為了解決這些問題,以及配合 UNICODE 的實施,全國信息技術化技術委員會于 1995 年 12 月 1 日《漢字內碼擴展規范》。GBK 向下與 GB2312 完全兼容,向上支持 ISO-10646 國際標準,在前者向后者過渡過程中起到的承上啟下的作用。
GBK是GB2312-80的擴展,是向上兼容的。它包含了20902個漢字,其編碼范圍是0×8140-0xfefe,剔除高位0×80的字位。其所有字符都可以一對一映射到Unicode2.0。
字集
GBK 共收入21886個漢字和圖形符號,包括:
GB2312 中的全部漢字、非漢字符號。
BIG5 中的全部漢字。
與 ISO-10646 相應的國家標準 GB13000 中的其它 CJK 漢字,以上合計 20902 個漢字。
其它漢字、部首、符號,共計 984 個。
GBK 編碼區分三部分:
漢字區 包括
GBK/2:OXBOA1-F7FE, 收錄 GB2312 漢字 6763 個,按原序排列;
GBK/3:OX8140-AOFE,收錄 CJK 漢字 6080 個;
GBK/4:OXAA40-FEAO,收錄 CJK 漢字和增補的漢字 8160 個。
圖形符號區 包括
GBK/1:OXA1A1-A9FE,除 GB2312 的符號外,還增補了其它符號
GBK/5:OXA840-A9AO,擴除非漢字區。
用戶自定義區
即 GBK 區域中的空白區,用戶可以自己定義字符。
編碼
GBK 亦采用雙字節表示,總體編碼范圍為 8140-FEFE 之間,首字節在 81-FE 之間,尾字節在 40-FE 之間,剔除 XX7F 一條線。
微 軟公司自 Windows 95 簡體中文版開始支持 GBK 代碼,標準叫法是 Windows codepage 936,也叫做 GBK(國標擴展),它也是 8-bit 的變長編碼。據我所知 GBK 從來沒成爲過正式的國家標準,只不過因爲 Windows 的普及,它已經成爲事實上的標準了。但目前的多數搜索引擎都不能很好地支持 GBK 漢字。
由前電子部科技質量司和國家技術監督局標準化司于1995年12月頒布的指導性規范。(GBK的 K是“擴展”的漢語拼音第一個字母)
GBK作為非 UCS ( ISO/IEC 10646 ) 體系的代碼頁,適用于中文信息的處理、交換、存儲、傳輸、顯現、輸入和輸出。
GBK 與國家標準 GB 2312-80 信息處理交換碼所對應的、事實上的內碼標準兼容;同時,在字匯一級支持 ISO/IEC 10646-1 和GB 13000-1 的全部中日韓 (CJK) 漢字(20902字)。GBK除了包含GB2312-80 和GB12345-90中包括的全部非漢字符號外,還涵蓋我國臺灣地區中文標準交換碼TCA-CNS 11643 -92 ( 與其對應的內碼為Big5;以下用Big5泛指二者。) 中的絕大多數符號。
從Windows95中文版起,Windows NT 3.51, 4.0, Windows2000, Windows CE, Linux已經全面支持GBK,起到了從GB 2312向Unicode過渡的承上啟下的重要作用。
GBK盡管在字匯一級支持CJK,是目前最大的Code Page ;它在體系結構、代碼空間上,仍然是完全不同于ISO/IEC 10646 和Unicode的。
BIG5
范圍: 0xA140 - 0xF9FE, 0xA1A1 - 0xF9FE
Big5是臺灣的IIIT1984年發明的,CNS 11643-1992( Chinese National Standard)
是擴展版本,主要大家用的還是big5
每個字由兩個字節組 成,其第一字節編碼范圍為0xA1~0xF9,第二字節編碼范圍為0×40~0×7E與0xA1~0xFE,總計收入13868個字 (包括5401個常用字、7652 個次常用字、7個擴充字、以及808個各式符號)
GB18030:
GB18030-2000(GBK2K)在GBK的基礎上進一步擴展了漢字,增加了藏、蒙等少數民族的字形。GBK2K從根本上解決了字位不夠,字形不足的問題。它有幾個特點:
它并沒有確定所有的字形,只是規定了編碼范圍,留待以后擴充。
編碼是變長的,其二字節部分與GBK兼容;四字節部分是擴充的字形、字位,其編碼范圍是首字節0×81-0xfe、二字節0×30-0×39、三字節0×81-0xfe、四字節0×30-0×39。
它的推廣是分階段的,首先要求實現的是能夠完全映射到Unicode3.0標準的所有字形。
它是國家標準,是強制性的。
補充:
中文信息編碼標準,常用的是GB2312-1980,GB12345,GB13000(GBK),
以及最新標準GB18030。
GB2312的漢字編碼規則為:第一個字節的值在0xB0到0xF7之間,第
二個字節的值在0xA0到0xFE之間。
GB12345和GB13000是對GB2312-1980的擴充,所有已經包含在GB2312
中的漢字編碼不變,另外增加更多的碼位。其編碼規則大致為:第一
個字節的值在0×81到0xFE之間,第二個字節的值在0×40到0xFE之間。
GB18030 是最新的漢字編碼字符集國家標準, 向下兼容 GBK 和 GB2312 標準。
GB18030 編碼是一二四字節變長編碼。 一字節部分從 0×0~0×7F 與 ASCII
編碼兼容。 二字節部分, 首字節從 0×81~0xFE, 尾字節從 0×40~0×7E 以及
0×80~0xFE, 與 GBK標準基本兼容。 四字節部分,
第一字節從 0×81~0xFE, 第二字節從 0×30~0×39, 第三和第四字節的范圍和前
兩個字節分別相同。 四字節部分覆蓋了從 0×0080 開始, 除去二字節部分已經
覆蓋的所有 Unicode 3.1 碼位。也就是說, GB18030 編碼在碼位空間上做到
了與 Unicode 標準一一對應,這一點與 UTF-8 編碼類似。
UTF_8字符集
UTF-8是UNICODE的一種變長字符編碼,由Ken Thompson于1992年創建?,F在已經標準化 為RFC 3629。UTF-8用1到6個字節編碼UNICODE字符。如果UNICODE字符由2個字節表示,則編碼成UTF-8很可能需要3個字節, 而如果UNICODE字符由4個字節表示,則編碼成UTF-8可能需要6個字節。用4個或6個字節去編碼一個UNICODE字符可能太多了,但很少會遇到 那樣的UNICODE字符。
Hong Kong GCCS是香港政府為big5加的3049個字,(Government Chinese Character Set)
香港增補字符集(HKSCS)是后來的標準,包括了Big5和ISO10646的編碼,所以HKSCS的big5
版是補充了GCCS的增強版,ISO10646是UCS(universal character set),ISO是政府組織
Unicode是電腦業界組織,不過UCS和Unicode的字庫一樣
編碼字數統計:
GB2312 6763個漢字
GB12345 6866個漢字
GBK 21003個漢字
GB18030 27000個漢字
Big5 13053個漢字
CNS11643 48,027個漢字