GB 2312

维基百科,自由的百科全书
跳转至: 导航搜索

GB 2312GB 2312–80中华人民共和国国家标准简体中文字符集,全称《信息交换用汉字编码字符集·基本集》,又稱GB0,由中国国家标准总局发布,1981年5月1日实施。GB 2312编码通行于中国大陆;新加坡等地也采用此编码。中国大陆几乎所有的中文系统和国际化的软件都支持GB 2312。

概述[编辑]

GB 2312标准共收录6763个汉字,其中一级汉字3755个,二级汉字3008个;同时收录了包括拉丁字母希腊字母日文平假名片假名字母、俄语西里尔字母在内的682个字符。

GB 2312的出现,基本满足了汉字的计算机处理需要,它所收录的汉字已经覆盖中国大陆99.75%的使用频率。但对于人名古汉语等方面出现的罕用字繁體字,GB 2312不能处理,因此后来GBKGB 18030汉字字符集相继出现以解決這些問題。

分区表示[编辑]

GB 2312中对所收汉字进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码

  • 01–09区为特殊符号。
  • 16–55区为一级汉字,按拼音排序。
  • 56–87区为二级汉字,按部首笔画排序。

举例来说,“啊”字是GB 2312之中的第一个汉字,它的区位码就是1601。

10–15区及88–94区则未有编码。但在附录3,则在第10区推荐作为 GB 1988–80 中的94个图形字符区域(即第3区字符之半形版本)。

字节结构[编辑]

在使用GB 2312的程序通常采用EUC储存方法,以便兼容于ASCII浏览器编码表上的“GB2312”,通常都是指“EUC-CN”表示法。

每个汉字及符号以两个字节来表示。第一个字节称为“高位字节”,第二个字节称为“低位字节”。

“高位字节”使用了0xA1–0xF7(把01–87区的区号加上0xA0),“低位字节”使用了0xA1–0xFE(把01–94加上0xA0)。 由于一级汉字从16区起始,汉字区的“高位字节”的范围是0xB0–0xF7,“低位字节”的范围是0xA1–0xFE,佔用的码位是72*94=6768。其中有5个空位是D7FA–D7FE。

例如“啊”字在大多数程序中,会以两个字节,0xB0(第一个字节)0xA1(第二个字节)储存。(与区位码对比:0xB0=0xA0+16,0xA1=0xA0+1)。

對「不規範簡化字」和繁體字的收錄[编辑]

  • 收了兩個不合乎中華人民共和國標準的簡化字
    • (68–41):由「审[審]」類推簡化而來,但《簡化字總表》已將「」簡化歸併為「」。舊版《新華字典》收有此字,釋為「汁」;新版取消,併入「」。
    • (79–64):由「钅[釒]」類推簡化而來,但《簡化字總表》已將「」簡化歸併為「」。
  • 收了兩個繁體字
    • (79–81):原版收入使用繁體偏旁之「」字,但《簡化字總表》已將「」和「」簡化歸併為「」;後續的字模附錄將之修正為「」(下詳)[1]
    • (65–65):该繁体字已经在《简化字总表》简化成「」(26–83)字,而且没有说明在语义不清时用「」来表示,可是GB 2312却多收此字。

修訂[编辑]

GB 5007.1–85《信息交换用汉字 24x24 点阵字模集》首次附錄對 GB 2312 之更正,包括:

GB 2312 本身一直未有修訂,但此等修訂部份收入相關字模集(下詳)、GB 12345、後續之 GBKGB 18030

GB 2312 亦用於 ISO-IR-165

两种不同的GB2312实现[编辑]

有两种不同的GB 2312实现,在它们之间存在少量的差别,其中至少有一个是错误的。

字节序 实现A 实现B
A1A4 U+00B7 MIDDLE DOT U+30FB KATAKANA MIDDLE DOT
A1AA U+2014 EM DASH U+2015 HORIZONTAL BAR

实现A与GBK/GB 18030兼容,实现B则不兼容。

在2015年, 微软.Net Framework在使用实现A。 iconv-1.14, php-5.6, ActivePerl-5.20, Java 1.7, Python 3.4在使用实现B.[2] Ruby 2.2则同时兼容实现A和实现B,对这几个有冲突的字符,它在内部转换为实现A。

字模集[编辑]

  • GB 5007.1–85《信息交换用汉字 24x24 点阵字模集》
  • GB 5007.2–85《信息交换用汉字 24x24 点阵字模数据集》
  • GB 5199.1–85《信息交换用汉字 15x16 点阵字模集》
  • GB 5199.2–85《信息交换用汉字 15x16 点阵字模数据集》
  • GB 6345.1–86《信息交换用汉字 32x32 点阵字模集》
  • GB 6345.2–86《信息交换用汉字 32x32 点阵字模数据集》
  • GB 12034–89《信息交换用汉字 32x32 点阵仿宋体字模集及数据集》
  • GB 12035–89《信息交换用汉字 32x32 点阵楷体字模集及数据集》
  • GB 12036–89《信息交换用汉字 32x32 点阵黑体字模集及数据集》
  • GB 12037–89《信息交换用汉字 36x36 点阵宋体字模集及数据集》
  • GB 12038–89《信息交换用汉字 36x36 点阵仿宋体字模集及数据集》
  • GB 12039–89《信息交换用汉字 36x36 点阵楷体字模集及数据集》
  • GB 12040–89《信息交换用汉字 36x36 点阵黑体字模集及数据集》
  • GB 12041–89《信息交换用汉字 48x48 点阵宋体字模集及数据集》
  • GB 12042–89《信息交换用汉字 48x48 点阵仿宋体字模集及数据集》
  • GB 12043–89《信息交换用汉字 48x48 点阵楷体字模集及数据集》
  • GB 12044–89《信息交换用汉字 48x48 点阵黑体字模集及数据集》
  • GB/T 13443–92《信息交换用汉字 128x128 点阵楷体字模集及数据集》
  • GB/T 13444–92《信息交换用汉字 128x128 点阵仿宋体字模集及数据集》
  • GB/T 13445–92《信息交换用汉字 256x256 点阵楷体字模集及数据集》
  • GB/T 13446–92《信息交换用汉字 256x256 点阵仿宋体字模集及数据集》
  • GB/T 13844–92《图形信息交换用矢量汉字单线宋体字模集及数据集》
  • GB/T 13845–92《图形信息交换用矢量汉字宋体字模集及数据集》
  • GB/T 13846–92《图形信息交换用矢量汉字仿宋体字模集及数据集》
  • GB/T 13847–92《图形信息交换用矢量汉字楷体字模集及数据集》
  • GB/T 13848–92《图形信息交换用矢量汉字黑体字模集及数据集》

注釋[编辑]

  1. ^ ɑ(U+0251)
    ḿ(U+1E3F;其時 Unicode 未收,故 CP936 亦未收[1]
    ń(U+0144)
    ň(U+0148)
    ǹ(U+01F9;Unicode 3.0 始開始收納,故 CP936 亦未收[2]
    ɡ(U+0261)

参考文献[编辑]

  1. ^ 1965年《印刷通用漢字字形表》將「」(使用簡化偏旁)注明為「作为人名地名及引用文言文的时候仍有需要」;2013年《通用規範漢字表》收錄「锺」,可用於姓名
  2. ^ http://bugs.python.org/issue24036

外部链接[编辑]

参见[编辑]