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