技术交流——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 23121980 信息交换用汉字编码字符集    基本集
GB 113831989  信息处理 信息交换用八位代码结构和编码规则(idt ISO 4873: 1986
GB 123451990  信息交换用汉字编码字符集    辅助集
GB 13000.11993  信息技术  通用多八位编码字符集(UCS  第一部分:体系结 构与基本多文种平面(idt ISO/IEC 10646.1-1993

         原则

本标准向下与国家标准GB 2312信息处理交换码所对应的事实上的内码标准兼容。

本标准在字汇上支持GB 13000.1的全部中、日、韩(CJK)统一汉字字符和全部CJK统一汉字扩充A的字符。

         定义

本标准采用下列定义。

41   字汇  repertoire

用编码字符集表示的一个指定的字符集合。

42  字符  character

供组织、控制或表示数据用的元素集合中的一个元素。

43  编码字符  coded character

字符及其编码表示。

44  保留区  reserved zone

本标准中留作未来国际标准规定的区域。

         字汇

本标准收录的字符分别以单字节、双字节和四字节编码。

51  单字节部分

本标准中,单字节的部分收录了GB 113830x000x7F全部128个字符及单字节编码的欧元符号。

52  双字节部分

本标准中,双字节的部分收录内容如下:

GB 13000.1的全部CJK统一汉字字符。

GB 13000.1CJK兼容区挑选出来的21个汉字。

GB 13000.1中收录而GB 2312未收录的我国台湾地区使用的图形字符139个。

GB 13000.1收录的其它字符31个。

GB 2312中的非汉字符号。

GB 12345的竖排标点符号19个。

GB 2312未收录的10小写罗马数字。

GB 2312未收录的带音调的汉语拼音字母5个以及ɑɡ

汉字数字“〇”。

表意文字描述符13个。

增补汉字和部首/构件80个。

双字节编码的欧元符号。

53  四字节部分

本标准的四字节的部分,收录了上述双字节字符之外的,包括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.10x20AC位置。

72  双字节部分字符的排列顺序

本标准双字节部分的字符排列顺序见附录A

73  四字节部分字符的排列顺序

    自0x81308130至0x8439FE39共50400个码位,对应本标准双字节部分未包括的所有GB 13000.1的字符,按照GB 13000.1相应字符的顺序排列,剩余码位保留。

0x85308130至0x8539FE39共12600个码位,为本标准的保留区,留待未来字符扩展使用。

0x86308130至0x8F39FE39共126000个码位,为本标准的保留区,留待未来汉字字符扩展使用。

      自0x90308130至0xE339FE391058400个码位,用于对应GB 13000的16个辅助平面,字符排列顺序完全遵照GB 13000的16个辅助平面的相应码位顺序依次排列,剩余码位保留。

    自0xE4308130至0xFC39FE39315000个码位,为本标准的保留区,留待未来标准扩展使用

0xFD3081300xFE39FE3925200个码位,为用户自定义区。

         码位分配

     8节部分的码位分配

本标准中,单字节的部分的码位分配GB 11383。单字节编码欧元符号置于0x80位置。

8.2  双字节部分的码位分配

本标准中,双字节的部分的码位安排分为0x81400xFE7E0x81800xFEFE两部分,共23940个码位。

8四字节部分的码位分配

    四字节部分的码位分配见7.3条。

返回技术交流首页】        【上篇文章】GBK内码表