汉字编码中现在主要用到的有三类, 包括 GBK
, GB2312
和 Big5
.
1. GB2312
GB2312
又称国标码, 由国家标准总局发布, 1981年5月1日实施, 通行于大陆. 新加坡等地也使用此编码. 它是一个简化字的编码规范, 当然也包括其他的符号, 字母, 日文假名等, 共 7445 个图形字符, 其中汉字占 6763 个. 我们平时说 6768 个汉字, 实际上里边有 5 个编码为空白, 所以总共有 6763 个汉字.
GB2312
规定 “对任意一个图形字符都采用两个字节表示, 每个字节均采用七位编码表示”, 习惯上称第一个字节为 “高字节”, 第二个字节为 “低字节”. GB2312
中汉字的编码范围为, 第一字节0xB0-0xF7
(对应十进制为 176-247
), 第二个字节0xA0-0xFE
(对应十进制为 160-254
).
GB2312
将代码表分为 94 个区, 对应第一字节 (0xA1-0xFE
);每个区 94 个位 (0xA1-0xFE
), 对应第二字节, 两个字节的值分别为区号值和位号值加 32
(2OH), 因此也称为区位码. 01-09 区为符号, 数字区; 16-87区为汉字区 (`0xB0-0xF7); 10-15区,88-94区是有待进一步标准化的空白区.
2. Big 5
Big5
又称大五码, 主要为香港与台湾使用, 即是一个繁体字编码. 每个汉字由两个字节构成, 第一个字节的范围从 0X81-0XFE
(即 129-255), 共 126 种. 第二个字节的范围不连续, 分别为0X40-0X7E
(即 64-126 ), 0XA1-0XFE
(即 161-254), 共 157 种.
3. GBK
GBK
是 GB2312
的扩展, 是向上兼容的, 因此 GB2312
中的汉字的编码与 GBK
中汉字的相同. 另外, GBK
中还包含繁体字的编码. GBK
中每个汉字仍然包含两个字节, 第一个字节的范围是0x81-0xFE
(即129-254), 第二个字节的范围是 0x40-0xFE
(即 64-254). GBK
中有码位 23940 个,包含汉字 21003 个.