看到TAOBAO采用了
GB18030
字符集,收集下资料
meta http-equiv ="Content-Type" content ="text/html; charset=GB18030" /
GB18030
有两个版本:GB18030-2000和GB18030-2005。GB18030-2000是GBK的取代版本,它的主要特点是在GBK基础上增加了
CJK统一汉字扩充A的汉字。GB18030-2005的主要特点是在GB18030-2000基础上增加了CJK统一汉字扩充B的汉字。本文数一数
GB18030中的汉字,也顺便看看其它标准中的汉字。
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统一汉字扩充A |
27533就是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个汉字