Javaphua Blog

          BlogJava 首頁(yè) 新隨筆 聯(lián)系 聚合 管理
            46 Posts :: 5 Stories :: 46 Comments :: 0 Trackbacks
          中文字符編碼簡(jiǎn)介
          1 GB2312-80

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

          GB2312收錄簡(jiǎn)化漢字及符號(hào)、字母、日文假名等共7445個(gè)圖形字符,其中漢字占6763個(gè)。GB2312規(guī)定“對(duì)任意一個(gè)圖形字符都采用兩個(gè)字節(jié)表示,每個(gè)字節(jié)均采用七位編碼表示”,習(xí)慣上稱第一個(gè)字節(jié)為“高字節(jié)”,第二個(gè)字節(jié)為“低字節(jié)”。

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

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

          2 GBK

          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 亦采用雙字節(jié)表示,總體編碼范圍為8140-FEFE之間,首字節(jié)在81-FE之間,尾字節(jié)在40-FE之間,剔除XX7F一條線。

          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è)。

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

          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ū),用戶可以自己定義字符。

          3 GB18030

          GB18030 是最新的漢字編碼字符集國(guó)家標(biāo)準(zhǔn), 向下兼容 GBK 和 GB2312 標(biāo)準(zhǔn)。 GB18030 編碼是一二四字節(jié)變長(zhǎng)編碼。一字節(jié)部分從 0x0~0x7F 與 ASCII 編碼兼容。 二字節(jié)部分, 首字節(jié)從 0x81~0xFE, 尾字節(jié)從 0x40~0x7E 以及 0x80~0xFE, 與 GBK標(biāo)準(zhǔn)基本兼容。 四字節(jié)部分, 第一字節(jié)從 0x81~0xFE, 第二字節(jié)從 0x30~0x39, 第三和第四字節(jié)的范圍和前兩個(gè)字節(jié)分別相同。 四字節(jié)部分覆蓋了從 0x0080 開始, 除去二字節(jié)部分已經(jīng)覆蓋的所有 Unicode 3.1 碼位。也就是說(shuō), GB18030 編碼在碼位空間上做到了與 Unicode 標(biāo)準(zhǔn)一一對(duì)應(yīng),這一點(diǎn)與 UTF-8 編碼類似。

          目前最新的 glibc 2.2.x 系列已經(jīng)全面支持了 GB18030 Locale 和 GB18030 與 UCS-4 之間的編碼轉(zhuǎn)換, 也就是說(shuō)在系統(tǒng)層上 Linux 已經(jīng)可以支持 GB18030 標(biāo)準(zhǔn)了。 下面問(wèn)題的關(guān)鍵就是怎樣讓 XFree86 窗口系統(tǒng)也支持 GB18030 標(biāo)準(zhǔn)。

          4 BIG5

          BIG5是通行于臺(tái)灣、香港地區(qū)的一個(gè)繁體字編碼方案。雖然存在一些瑕疵,但廣泛應(yīng)用于電腦行業(yè),尤其是互聯(lián)網(wǎng)中,從而成為一種事實(shí)上的行業(yè)標(biāo)準(zhǔn)。

          1983年10月,臺(tái)灣國(guó)家科學(xué)委員會(huì)、教育部國(guó)語(yǔ)推行委員會(huì)、中央標(biāo)準(zhǔn)局、行政院共同制定了《通用漢字標(biāo)準(zhǔn)交換碼》,后經(jīng)修訂于1992年5月公布,更名為《中文標(biāo)準(zhǔn)交換碼》,BIG5是臺(tái)灣資訊工業(yè)策進(jìn)會(huì)根據(jù)以上標(biāo)準(zhǔn)制定的編碼方案。

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

          BIG5收錄13461個(gè)漢字和符號(hào),包括:

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

          Feedback

          # re: [轉(zhuǎn)]gbk與gb2312 2007-02-08 14:57 笨笨狗
          gb2312是微軟搞出來(lái)的破玩意兒,gbk呢也是不完整的編碼,UTF-8才是王道,所以現(xiàn)在寫東西,我都用的UTF-8。  回復(fù)  更多評(píng)論
            

          # re: [轉(zhuǎn)]gbk與gb2312[未登錄](méi) 2007-05-24 13:18 呵呵
          gb2312是國(guó)家標(biāo)準(zhǔn),與微軟無(wú)關(guān)
          utf-8是微軟和一些大公司聯(lián)合制定的標(biāo)準(zhǔn)  回復(fù)  更多評(píng)論
            

          # re: [轉(zhuǎn)]gbk與gb2312 2011-09-19 10:06 神云
          @呵呵 UFT-8 包含了各種語(yǔ)言的文字,但是中文字符并沒(méi)有GBK的完整, 這話爾認(rèn)真學(xué)習(xí)過(guò)了沒(méi),你除了英文、中文 還用過(guò)什么其它文字? 不懂呢 不要亂說(shuō),別人當(dāng)笑話看事小,萬(wàn)一誤導(dǎo)了后生怎么辦?
            回復(fù)  更多評(píng)論
            


          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 滨海县| 乌拉特中旗| 左权县| 星子县| 赞皇县| 蒙城县| 蕲春县| 胶州市| 长葛市| 芜湖市| 收藏| 南涧| 五指山市| 舒城县| 宣化县| 吴川市| 开原市| 民丰县| 西安市| 寿阳县| 通山县| 拉萨市| 三门县| 隆昌县| 柯坪县| 苍南县| 商丘市| 丰顺县| 巴楚县| 牡丹江市| 株洲市| 卫辉市| 平远县| 拉萨市| 潼南县| 蒙阴县| 平邑县| 霍林郭勒市| 丰原市| 昭苏县| 眉山市|