Javaphua Blog

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            46 Posts :: 5 Stories :: 46 Comments :: 0 Trackbacks
          中文字符編碼簡介
          1 GB2312-80

          GB2312碼是中華人民共和國國家漢字信息交換用編碼,全稱《信息交換用漢字編碼字符集——基本集》,由國家標準總局發布,1981年5月1日實施,通行于大陸。新加坡等地也使用此編碼。

          GB2312收錄簡化漢字及符號、字母、日文假名等共7445個圖形字符,其中漢字占6763個。GB2312規定“對任意一個圖形字符都采用兩個字節表示,每個字節均采用七位編碼表示”,習慣上稱第一個字節為“高字節”,第二個字節為“低字節”。

          GB2312將代碼表分為94個區,對應第一字節;每個區94個位,對應第二字節,兩個字節的值分別為區號值和位號值加32(2OH),因此也稱為區位碼。01-09區為符號、數字區,16-87區為漢字區,10-15區、88-94區是有待進一步標準化的空白區。GB2312將收錄的漢字分成兩級:第一級是常用漢字計3755個,置于16-55區,按漢語拼音字母/筆形順序排列;第二級漢字是次常用漢字計3008個,置于56-87區,按部首/筆畫順序排列。故而GB2312最多能表示6763個漢字。

          GB2312的編碼范圍為2121H-777EH,與ASCII有重疊,通行方法是將GB碼兩個字節的最高位置1以示區別。

          2 GBK

          GB2312-80僅收漢字6763個,這大大少于現有漢字,隨著時間推移及漢字文化的不斷延伸推廣,有些原來很少用的字,現在變成了常用字,例如:朱镕基的“镕”字,未收入GB2312-80,現在大陸的報業出刊只得使用(金+容)、(金容)、(左金右容)等來表示,形式不一而同,這使得表示、存儲、輸入、處理都非常不方便,對于搜索引擎等軟件的構造來說也不是好消息,而且這種表示沒有統一標準。從我們對人民日報98年數據的處理過程中,得出這樣的經驗:回填外字最困難的就是如何得到這種表示方法的集合。

          為了解決這些問題,以及配合UNICODE的實施,全國信息技術化技術委員會于1995年12月1日《漢字內碼擴展規范》。GBK向下與GB2312 完全兼容,向上支持ISO 10646國際標準,在前者向后者過渡過程中起到的承上啟下的作用。GBK 亦采用雙字節表示,總體編碼范圍為8140-FEFE之間,首字節在81-FE之間,尾字節在40-FE之間,剔除XX7F一條線。

          GBK共收入21886個漢字和圖形符號,包括:

          * GB2312中的全部漢字、非漢字符號。
          * BIG5中的全部漢字。
          * 與ISO 10646相應的國家標準GB13000中的其它CJK漢字,以上合計20902個漢字。
          * 其它漢字、部首、符號,共計984個。

          微軟公司自Windows 95 簡體中文版開始支持GBK代碼,但目前的多數搜索引擎都不能很好地支持GBK漢字。

          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區域中的空白區,用戶可以自己定義字符。

          3 GB18030

          GB18030 是最新的漢字編碼字符集國家標準, 向下兼容 GBK 和 GB2312 標準。 GB18030 編碼是一二四字節變長編碼。一字節部分從 0x0~0x7F 與 ASCII 編碼兼容。 二字節部分, 首字節從 0x81~0xFE, 尾字節從 0x40~0x7E 以及 0x80~0xFE, 與 GBK標準基本兼容。 四字節部分, 第一字節從 0x81~0xFE, 第二字節從 0x30~0x39, 第三和第四字節的范圍和前兩個字節分別相同。 四字節部分覆蓋了從 0x0080 開始, 除去二字節部分已經覆蓋的所有 Unicode 3.1 碼位。也就是說, GB18030 編碼在碼位空間上做到了與 Unicode 標準一一對應,這一點與 UTF-8 編碼類似。

          目前最新的 glibc 2.2.x 系列已經全面支持了 GB18030 Locale 和 GB18030 與 UCS-4 之間的編碼轉換, 也就是說在系統層上 Linux 已經可以支持 GB18030 標準了。 下面問題的關鍵就是怎樣讓 XFree86 窗口系統也支持 GB18030 標準。

          4 BIG5

          BIG5是通行于臺灣、香港地區的一個繁體字編碼方案。雖然存在一些瑕疵,但廣泛應用于電腦行業,尤其是互聯網中,從而成為一種事實上的行業標準。

          1983年10月,臺灣國家科學委員會、教育部國語推行委員會、中央標準局、行政院共同制定了《通用漢字標準交換碼》,后經修訂于1992年5月公布,更名為《中文標準交換碼》,BIG5是臺灣資訊工業策進會根據以上標準制定的編碼方案。

          BIG5碼是雙字節編碼方案,其中第一個字節的值在OXAO-OXFE之間,第二個字節在OX40-OX7E和OXA1-OXFE之間。

          BIG5收錄13461個漢字和符號,包括:

          * 符號408個,編碼位置A140-A3BE
          * 常用字5401個,編碼位置A440-C67E,包括臺灣教育部頒布的《常用國字標準字體表》的全部漢字4808個,臺灣教科書常用字587個,異體字6個。
          * 次常用字7652個,編碼位置C940-F9D5,包括臺灣教育部頒布的《次常用國字標準字體表》的全部漢字6341個,《罕用國字標準字體表》中使用頻率較高的字1311個。
          posted on 2006-07-25 14:06 Javaphua 閱讀(2728) 評論(3)  編輯  收藏

          Feedback

          # re: [轉]gbk與gb2312 2007-02-08 14:57 笨笨狗
          gb2312是微軟搞出來的破玩意兒,gbk呢也是不完整的編碼,UTF-8才是王道,所以現在寫東西,我都用的UTF-8。  回復  更多評論
            

          # re: [轉]gbk與gb2312[未登錄] 2007-05-24 13:18 呵呵
          gb2312是國家標準,與微軟無關
          utf-8是微軟和一些大公司聯合制定的標準  回復  更多評論
            

          # re: [轉]gbk與gb2312 2011-09-19 10:06 神云
          @呵呵 UFT-8 包含了各種語言的文字,但是中文字符并沒有GBK的完整, 這話爾認真學習過了沒,你除了英文、中文 還用過什么其它文字? 不懂呢 不要亂說,別人當笑話看事小,萬一誤導了后生怎么辦?
            回復  更多評論
            


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 海城市| 乐清市| 孟津县| 夏邑县| 合山市| 安顺市| 青冈县| 榕江县| 涞源县| 昌平区| 闽清县| 武冈市| 江永县| 富源县| 安达市| 景泰县| 通山县| 珲春市| 青川县| 乐安县| 株洲市| 绥江县| 西青区| 水富县| 鄂托克前旗| 通榆县| 汉中市| 铜梁县| 潜山县| 县级市| 阿克苏市| 元谋县| 昌都县| 高平市| 任丘市| 兴海县| 泌阳县| 阿坝县| 昌都县| 青龙| 仲巴县|