GB18030 编码规则

GB 18030,国家标准 GB 18030-2005,是中国目前最新的内码字集,于 2000 年 3 月发布的汉字编码国家标准,与 GB 2312-1980 和 GBK 兼容,共收录汉字 70244 个:
  • 与 UTF-8 相同,采用多字节编码,每个字可以由 1 个、2 个或 4 个字节组成
  • 编码空间庞大,最多可定义 161 万个字符
  • 支持中国国内少数民族的文字,不需要动用造字区
  • 汉字收录范围包含繁体汉字以及日韩汉字
GB 18030 编码是一二四字节变长编码:
  • 单字节,其值从 0 到 0x7F,与 ASCII 码兼容
  • 双字节,第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x40 到 0xFE(不包括 0x7F),与 GBK 标准兼容
  • 四字节,第一个字节的值从 0x81 到 0xFE,第二个字节的值从 0x30 到 0x39,第三个字节从 0x81 到 0xFE,第四个字节从 0x30 到 0x39。
字符处理软件在处理文本时,从左往右依次扫描每个字节:
  • 如果遇到的字节的最高位是 0,那么就会断定该字符只占用了一个字节
  • 如果遇到的字节的最高位是 1,那么该字符可能占用了两个字节,也可能占用了四个字节,不能妄下断论,所以还要继续往后扫描:
    • 如果第二个字节的高位有两个连续的 0,那么就会断定该字符占用了四个字节
    • 如果第二个字节的高位没有连续的 0,那么就会断定该字符占用了两个字节
可见,当字符占用两个或者四个字节时,GB18030 编码要检测两次,处理效率比 GB2312 和 GBK 都低。

© 2021 - 2024 ToolHelper All rights reserved.  
问题反馈      皖ICP备2021019041号