GB18030-2000的字汇部分是这样写的:
本标准收录的字符分别以单字节、双字节和四字节编码。 .1 单字节部分 本标准中,单字节的部分收录了GB 11383的0x00到0x7F全部128个字符及单字节编码的欧元符号。 .2 双字节部分 本标准中,双字节的部分收录内容如下: GB 13000.1的全部CJK统一汉字字符。 GB 13000.1的CJK兼容区挑选出来的21个汉字。 GB 13000.1中收录而GB 2312未收录的我国台湾地区使用的图形字符139个。 GB 13000.1收录的其它字符31个。 GB 2312中的非汉字符号。 GB 12345 的竖排标点符号19个。 GB 2312未收录的10个小写罗马数字。 GB 2312未收录的带音调的汉语拼音字母5个以及ɑ 和ɡ 。 汉字数字“〇”。 表意文字描述符13个。 增补汉字和部首/构件80个。 双字节编码的欧元符号。 .3 四字节部分 本标准的四字节的部分,收录了上述双字节字符之外的,包括CJK统一汉字扩充A在内的GB 13000.1 中的全部字符。
如下表所示,GB18030-2000收录了27533个汉字:
类别 码位范围 码位数 字符数 字符类型 双字节部分 第一字节 0xB0-0xF7 第二字节 0xA1-0xFE 6768 6763 汉字 第一字节 0x81-0xA0 第二字节 0x40-0xFE 6080 6080 汉字 第一字节 0xAA-0xFE 第二字节 0x40-0xA0 8160 8160 汉字 四字节部分 第一字节 0x81-0x82 第二字节 0x30-0x39 第三字节 0x81-0xFE 第四字节 0x30-0x39 6530 6530 CJK统一汉字扩充A27533就是6763+6080+8160+6530。双字节部分的6763+6080+8160=21003个汉字就是GBK的21003个汉字。
在Unicode中,CJK统一汉字扩充A有6582个汉字,为什么这里只有6530个汉字?
这是因为在GBK时代,双字节部分已经收录过CJK统一汉字扩充A的52个汉字,所以还余6530个汉字。
GB2312有6763个汉字,GBK有21003个汉字,GB18030-2000有27533个汉字,GB18030-2005有70244个汉字。
Unicode 5.0中,如果不算兼容区,目前有70217个汉字