中文編碼基礎知識介紹

 GB2312

範圍: 0xA1A1 - 0xFEFE
漢字範圍: 0xB0A1 - 0xF7FE
GB2312碼是中華人民共和國國家漢字信息交換用編碼,全稱《信息交換用漢字編碼字符集--基本集》,由國家標準總局發佈,1981年5月1日實施,通行於大陸。新加坡等地也使用此編碼。 GB2312收錄簡化漢字及符號、字母、日文假名等共7445個圖形字符,其中漢字佔6763個。GB2312規 定"對任意一個圖形字符都採用兩個字節表示,每個字節均採用七位編碼表示",習慣上稱第一個字節爲"高字節",第二個字節爲"低字節"。GB2312- 80包含了大部分常用的一、二級漢字,和9區的符號。該字符集是幾乎所有的中文系統和國際化的軟件都支持的中文字符集,這也是最基本的中文字符集。其編碼 範圍是高位0xa1-0xfe,低位也是0xa1-0xfe;漢字從0xb0a1開始,結束於0xf7fe。

 

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年創建。現在已經標準化 爲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個漢字

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章