● 技术交流——GB18030编码标准
GB18030编码标准
GB18030在体系结构上延续GB2311-1990《信息处理 七位和八位编码字符集 代码扩充技术》体系,采用单/双/四字节混合编码。该标准与现有的绝大多数操作系统、中文平台在计算机内码一级兼容,能够支持现有的应用系统,在字汇上与GB13000.1-1993《信息技术 通用多八位编码字符集(UCS)第一部分:
体系结构与基本多文种平面》兼容,从而为中文信息在国际互联网上的传输与交换提供了保障。该标准同时收录了臧文、蒙文、维吾尔文等主要的少数民族文字,为推进少数民族的信息化奠定了坚实的基础。
GB18030-2000标准作为GB 2311体系的字符编码标准,规定了信息交换用的基本图形字符及其二进制编码的十六进制表示,适用于图形字符信息的处理、交换、存储、传输、显现、输入和输出。
GB18030-2000标准具体规定了图形字符的单字节编码和双字节编码,并对四字节编码体系结构做出了规定。
以下为GB18030-2000标准的详细内容:
■
范围
本标准作为GB 2311体系的编码字符标准,规定了信息交换用的图形字符及其二进制编码的十六进制表示。
本标准适用于图形字符信息的处理、交换、存储、传输、显现、输入和输出。
■
引用标准
下列标准所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。
GB
2311—1990 |
信息处理
七位和八位编码字符集 代码扩充技术(eqv ISO 2022:1986) |
GB 2312—1980 |
信息交换用汉字编码字符集
基本集 |
GB 11383—1989 |
信息处理 信息交换用八位代码结构和编码规则(idt ISO 4873: 1986) |
GB 12345—1990 |
信息交换用汉字编码字符集
辅助集 |
GB 13000.1—1993 |
信息技术
通用多八位编码字符集(UCS)
第一部分:体系结 构与基本多文种平面(idt ISO/IEC 10646.1-1993) |
■
原则
本标准向下与国家标准GB 2312信息处理交换码所对应的事实上的内码标准兼容。
本标准在字汇上支持GB 13000.1的全部中、日、韩(CJK)统一汉字字符和全部CJK统一汉字扩充A的字符。
■
定义
本标准采用下列定义。
4.1 字汇
repertoire
用编码字符集表示的一个指定的字符集合。
4.2
字符
character
供组织、控制或表示数据用的元素集合中的一个元素。
4.3
编码字符 coded
character
字符及其编码表示。
4.4
保留区 reserved
zone
本标准中留作未来国际标准规定的区域。
■
字汇
本标准收录的字符分别以单字节、双字节和四字节编码。
5.1
单字节部分
本标准中,单字节的部分收录了GB 11383的0x00到0x7F全部128个字符及单字节编码的欧元符号。
5.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个。
双字节编码的欧元符号。
5.3
四字节部分
本标准的四字节的部分,收录了上述双字节字符之外的,包括CJK统一汉字扩充A在内的GB 13000.1 中的全部字符。
■
总体结构
本标准中,采用单字节、双字节和四字节三种方式对字符编码。本标准中的任何一个字节均由八位二进制位串组成,任何一个八位的值均由0x00至0xFF的十六进制记数法表示。
单字节部分采用GB
11383的编码结构与规则,使用0x00至0x80码位。双字节部分采用两个八位二进制位串表示一个字符,其首字节码位从0x81至0xFE,尾字节码位分别是0x40至0x7E和0x80至0xFE。四字节部分采用GB
11383未采用的0x30到0x39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为0x81308130到0xFE39FE39。见表1及图1。
表1
码位范围分配图
字节数 |
码位空间 |
码位数目 |
单字节 |
0x00~0x80
|
129个码位 |
双字节 |
第一字节 |
第二字节 |
23940个码位
|
0x81 ~ 0xFE
|
0x40 ~ 0x7E
0x80 ~ 0xFE
|
四字节 |
第一字节 |
第二字节 |
第三字节 |
第四字节 |
1587600个码位。 |
0x81~ 0xFE
|
0x30~ 0x39
|
0x81~ 0xFE
|
0x30~0x39
|
四字节字符的编码自第四个字节开始,编码码位为0x30 至0x39;其次是第三个字节,编码码位为0x81至0xFE;再次是第二个字节,编码码位为0x30
至0x39;最后是第一个字节,编码码位为0x81至0xFE。即,
0x81308130至0x81308139;
0x81308230至0x81308239;
……
0x8130FE30至0x8130FE39;
0x81318130至0x81318139;
……
0x8131FE30至0x8131FE39;
……
0x82308130至0x82308139;
……
0x8230FE30至0x8230FE39;
……
0xFE308130至0xFE308139;
……
0xFE39FE30至0xFE39FE39。
注:本标准中,凡数字前标有0x的表示采用十六进制,未标有0x的表示采用十进制。

图1 总
体
结
构
图
■
字符的排列顺序
7.1 单字节部分字符的排列顺序
本标准中单字节部分所有字符按照GB 11383中相应字符的顺序排列,单字节编码的欧元符号置于0x80位置,对应于GB 13000.1的0x20AC位置。
7.2
双字节部分字符的排列顺序
本标准双字节部分的字符排列顺序见附录A。
7.3
四字节部分字符的排列顺序
自0x81308130至0x8439FE39共50400个码位,对应本标准双字节部分未包括的所有GB 13000.1的字符,按照GB
13000.1相应字符的顺序排列,剩余码位保留。
0x85308130至0x8539FE39共12600个码位,为本标准的保留区,留待未来字符扩展使用。
自0x86308130至0x8F39FE39共126000个码位,为本标准的保留区,留待未来汉字字符扩展使用。
自0x90308130至0xE339FE39共1058400个码位,用于对应GB
13000的16个辅助平面,字符排列顺序完全遵照GB 13000的16个辅助平面的相应码位顺序依次排列,剩余码位保留。
自0xE4308130至0xFC39FE39共315000个码位,为本标准的保留区,留待未来标准扩展使用。
自0xFD308130至0xFE39FE39共25200个码位,为用户自定义区。
■
码位分配
8.1
节部分的码位分配
本标准中,单字节的部分的码位分配见GB 11383。单字节编码欧元符号置于0x80位置。
8.2
双字节部分的码位分配
本标准中,双字节的部分的码位安排分为0x8140至0xFE7E和0x8180至0xFEFE两部分,共23940个码位。
8.3
四字节部分的码位分配
四字节部分的码位分配见7.3条。
【返回技术交流首页】 【上篇文章】GBK内码表 |