官术网_书友最值得收藏!

3.2.2 漢字字符集及其編碼

計算機發明之后的很長一段時間,只能應用于美國及西方一些發達國家,ASCII編碼也能夠很好地滿足用戶的需求。但是當我國也有了計算機之后,為了顯示中文,必須設計一套編碼規則能將漢字轉換為二進制數。

我國計算機科學家把ASCII中的127之后的符號(即EASCII)取消掉,規定:一個小于127的字符的意義與原來相同,但兩個大于127的字符連在一起時,就表示一個漢字,前面的一個字節(高字節)從0xA1(16110)到0xF7(24710),后面一個字節(低字節)從0xA1到0xFE(25410),這樣就有7000多種二進制編碼,就可以表示出7000多個簡體漢字。在這些編碼里,還把數學符號、羅馬字母、希臘字母以及日文的假名都編進去了,在ASCII編碼里本來就有的數字、標點、字母都重新編了兩個字節長的編碼,這就是常說的全角字符,而原來在127之前的就叫半角字符了。

上述編碼規則就是GB 2312。GB 2312或GB 2312—1980是中國國家標準簡體中文字符集,全稱《信息交換用漢字編碼字符集—基本集》,由中國國家標準總局發布,1981年5月1日實施。GB 2312基本滿足了漢字的計算機處理需要,但對于人名、古漢語等方面的罕用字,GB 2312不能處理,這導致了后來GBK(全稱《漢字內碼擴展規范》)及GB 18030漢字字符集的出現。圖3-2所示為GB 2312編碼表的開始部分(由于其非常龐大,只列舉開始部分,具體可查看GB 2312簡體中文編碼表)。

圖3-2 GB 2312編碼表的開始部分

由于GB 2312—1980只收錄了6763個漢字,有不少漢字并未收錄在內,如部分在GB2312—1980推出以后才簡化的漢字(如“啰”),部分人名用字(如我國前總理朱镕基的“镕”字),我國臺灣省及香港特別行政區使用的繁體字,日語及朝鮮語漢字等。于是微軟公司利用GB 2312—1980未使用的編碼空間,收錄GB 13000.1—1993(目的是對世界上的所有文字統一編碼,以實現世界上所有文字在計算機上的統一處理)全部字符并制定了GBK編碼,最早實現于Windows95簡體中文版。雖然GBK收錄GB 13000.1—1993的全部字符,但為了能與GB 2312—1980兼容,所以采用了與GB 13000.1—1993不同的編碼方式。GBK編碼并非國家標準,而是曾由國家技術監督局標準化司、電子工業部科技與質量監督司公布為“技術規范指導性文件”。

1995年之后的實踐表明,GBK作為行業規范,缺乏足夠的強制力,不利于其本身的推廣,而我們寄予厚望的GB 13000的實現又腳步緩慢,現有漢字編碼字符集標準已經不能滿足我國信息化建設的需要。為此,原國家質量技術監督局和信息產業部組織專家制定發布了新的編碼字符集標準,GB 18030—2000《信息技術信息交換用漢字編碼字符集基本集的擴充》。2005年發布的GB 18030—2005在GB 18030—2000的基礎上增加了42711個漢字(共收錄漢字70244個)和多種我國少數民族文字的編碼。

主站蜘蛛池模板: 耿马| 武穴市| 万宁市| 尉犁县| 武胜县| 平顺县| 资阳市| 义乌市| 涿州市| 当阳市| 安平县| 永春县| 柞水县| 抚顺县| 新密市| 会理县| 东港市| 涟水县| 邹平县| 沐川县| 保亭| 大连市| 建湖县| 明光市| 修文县| 青神县| 绿春县| 泾源县| 保定市| 出国| 图木舒克市| 嘉荫县| 白山市| 五峰| 延边| 宣威市| 黎川县| 大同县| 新龙县| 屏东县| 潢川县|