原文:http://www.cnblogs.com/meil/archive/2007/01/31/635871.html
GB2312 字符集 (http://www.herongyang.com)
GB2312 是汉字字符集和编码的代号,中文全称为“信息交换用汉字编码字符集”,由中华人民共和国国家标准总局发布,一九八一年五月一日实施。GB 是“国标” 二字的汉语拼音缩写。
GB2312 字符集 (character set) 只收录简化字汉字,以及一般常用字母和符号,主要通行于中国大陆地区和新加坡等地。
GB2312 共收录有 7445 个字符,其中简化汉字 6763 个,字母和符号 682 个。
GB2312 将所收录的字符分为 94 个区,编号为 01 区至 94 区;每个区收录 94 个字符,编号为 01 位至 94 位。GB2312 的每一个字符都由与其唯一对应的区号和位号所确定。例如:汉字“啊”,编号为 16 区 01 位。
GB2312 字符集的区位分布表:
区号 字数 字符类别 01 94 一般符号 02 72 顺序号码 03 94 拉丁字母 04 83 日文假名 05 86 Katakana 06 48 希腊字母 07 66 俄文字母 08 63 汉语拼音符号 09 76 图形符号 10-15 备用区 16-55 3755 一级汉字,以拼音为序 56-87 3008 二级汉字,以笔划为序 88-94 备用区
这本手册列出了 GB2312 的全部字符和它们的区位号。
GB2312 编码
GB2312 原始编码 (encoding) 是对所收录的每个字符都用两个字节 (byte) 表示。第一字节为“高字节”,由字符的区号值加上 32 而形成;第二字节为“低字节”,由字符的位号值加上 32 而形成。例如:汉字“啊”,编号为 16 区 01 位。它的高字节为 16 + 32 = 48 (0x30),低字节为 01 + 32 = 33 (0x21),合并而成的编码为 0x3021。
在区位号值上加 32 的原因大慨是为了避开低值字节区间。