ITPUB??ì3
2010数据库技术大会
ITPUB论坛 » WEB程序开发 » GB18030-2000编码标准简介


您有 1 条公共消息
  • 来自: 公共消息 标题: 3-5月ITPUB数据库 ... 内容: ITPUB与3月和5月分别安排了Oracle 11g DBA和Oracle性能优化培训,以及 ...

    标题: [Tips] GB18030-2000编码标准简介
    离线 臧圩人
    (zangweiren)
    退而结网


    来自 BJ->SH
    精华贴数 9
    个人空间 0
    技术积分 9440 (174)
    社区积分 6312 (313)
    注册日期 2004-5-15
    论坛徽章:22
    管理团队成员2010新春纪念徽章2010年世界杯参赛球队:瑞士   
          

    发表于 2005-5-9 12:27 
    GB18030-2000编码标准简介

    GB18030-2000编码标准简介
    GB18030-2000编码标准是由信息产业部和国家质量技术监督局在2000年 3月17日联合发布的,并且将作为一项国家标准在明年的1月正式强制执行。

    1.概述
    GB18030-2000编码标准是在原来的 GB2312-1980 编码标准和 GBK 编码标准的基础上进行扩充,增加了四字节部分的编码。它可以完全映射ISO10646的基本平面和所有辅助平面,共有150多万个码位。在ISO10646的基本平面内,它在原来的2万多汉字的基础上增加了7000 多个汉字的码位和字型,从而使基本平面的汉字到达 27000多个。它的主要目的是为了解决一些生、偏、难字的问题,以及适应出版、邮政、户政、金融、地理信息系统等迫切需要的人名、地名用字问题。

    GB18030-2000作为GB2311体系的编码字符标准,规定了信息交换用的图形字符及其二进制编码的十六进制表示。它支持 GB 13000.1-1993的全部中日韩(CJK)统一汉字字符和全部中日韩统一汉字Extension A和Extension B的字符。

    2.字汇
    GB18030-2000编码标准收录的字符分别以单字节、双字节和四字节编码。下面简要列举一下它们各自包括的内容:

    1) 单字节部分
    单字节部分收录了GB11383的0x00到0x7E全部 128个字符及单字节编码的欧元符号。

    2) 双字节部分
    双字节部分收录的内容如下:

    GB13000.1的全部CJK统一汉字字符;
    GB13000.1的CJK兼容区挑选出来的21个汉字;
    GB13000.1中收录而GB2312未收录的我国台湾地区使用的图形字符139个;
    GB13000.1收录的其它字符31个;
    GB2312中的非汉字符号;
    GB12345的竖排标点符号19个;
    Gb2312未收录的10个小写罗马数字;
    Gb2312未收录的带音调的汉语拼音字母5个以及 a和g;
    汉字数字“O”;
    表意文字描述符13个;
    增补汉字和部首/构件80个;
    双字节编码的欧元符号。
    3) 四字节部分
    四字节部分收录了上述双字节字符之外的,包括 CJK 统一汉字扩充 A 在内的 GB13000.1 中的全部字符。

    3.编码规则
    GB18030-2000标准采用单字节、双字节和四字节三种方式对字符编码。单字节部分采用GB 11383的编码结构与规则,使用 0x00至0x80码位。双字节部分采用两个字节表示一个字符,其首字节码位从 0x81至0xFE,尾字节码位分别是0x40至0x7E和0x80至0xFE。四字节部分第一、三字节仍为0x81~0xFE,第二、四字节采用GB 11383未使用的0x30到0x39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为0x81308130 到 0xFE39FE39。码位范围分配如下表所示:




    臧圩人 上传了这个附件:
    2005-5-9 12:27
    未命名.jpg (24.39 KB)
     

    __________________
    JAVA|English|Oracle|Linux|PHP

    天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
    只看该作者    顶部
    离线 臧圩人
    (zangweiren)
    退而结网


    来自 BJ->SH
    精华贴数 9
    个人空间 0
    技术积分 9440 (174)
    社区积分 6312 (313)
    注册日期 2004-5-15
    论坛徽章:22
    管理团队成员2010新春纪念徽章2010年世界杯参赛球队:瑞士   
          

    发表于 2005-5-9 12:28 
    四字节字符的编码自第四个字节开始,编码码位为 0x30至0x39;其次是第三个字节,编码码位为0x81至0xFE;再次是第二个字节,编码码位为0x30至0x39;最后是第一个字节,编码码位为0x81至0xFE。即:




    臧圩人 上传了这个附件:
    2005-5-9 12:28
    未命名.jpg (18.51 KB)
     

    __________________
    JAVA|English|Oracle|Linux|PHP

    天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
    只看该作者    顶部
    离线 臧圩人
    (zangweiren)
    退而结网


    来自 BJ->SH
    精华贴数 9
    个人空间 0
    技术积分 9440 (174)
    社区积分 6312 (313)
    注册日期 2004-5-15
    论坛徽章:22
    管理团队成员2010新春纪念徽章2010年世界杯参赛球队:瑞士   
          

    发表于 2005-5-9 12:34 
    在一次实际应用中发现GB2312不能正确显示汉字数字“〇”,于是搜到了这篇文章。
    看了一些中文编码字符集的介绍后才发现,GB2312是一个很老的字符集了,产生于1980年。
    最新的字符集是2000发布的GB18030。

    上面的文章转自IBM的网站,下面是作者信息:
    王守华
    研发工程师, 红旗 Linux


    __________________
    JAVA|English|Oracle|Linux|PHP

    天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
    只看该作者    顶部
    离线 臧圩人
    (zangweiren)
    退而结网


    来自 BJ->SH
    精华贴数 9
    个人空间 0
    技术积分 9440 (174)
    社区积分 6312 (313)
    注册日期 2004-5-15
    论坛徽章:22
    管理团队成员2010新春纪念徽章2010年世界杯参赛球队:瑞士   
          

    发表于 2005-5-9 12:49 
    NND,为什么这个论坛用的编码也是“GB2312”,却能正常显示“〇”?



    __________________
    JAVA|English|Oracle|Linux|PHP

    天下事有难易乎?为之,则难者亦易矣;不为,则易者亦难矣。人之为学有难易乎?学之,则难者亦易矣;不学,则易者亦难矣。
    只看该作者    顶部
    离线 iammjj
    初级会员



    精华贴数 0
    个人空间 0
    技术积分 34 (43303)
    社区积分 0 (452011)
    注册日期 2005-5-31
    论坛徽章:0
          
          

    发表于 2005-7-3 10:17 
    php编码问题不是很大的

    我记得以前很多地方用GB2312都不可以阿


    只看该作者    顶部
    离线 leave17
    oracle小菜鸟


    精华贴数 0
    个人空间 0
    技术积分 98 (19803)
    社区积分 9 (14010)
    注册日期 2004-10-14
    论坛徽章:0
          
          

    发表于 2005-8-4 13:51 
    感谢提供这些知识噢,,


    __________________
    心若冰清 天塌不惊
    只看该作者    顶部
    离线 yunsn
    我来学习的……


    精华贴数 0
    个人空间 0
    技术积分 436 (5331)
    社区积分 2 (29689)
    注册日期 2002-11-7
    论坛徽章:1
    授权会员     
          

    发表于 2005-9-22 16:08 


    QUOTE:
    最初由 臧圩人 发布
    NND,为什么这个论坛用的编码也是“GB2312”,却能正常显示“〇”?


    因为windows操作系统支持GB13000,所以能输入,能显示!


    __________________
    去也终须去,住却如何住。飘飘何所似,天地一沙鸥。
    只看该作者    顶部
     
        

    相关内容


    CopyRight 1999-2006 itpub.net All Right Reserved.
    北京皓辰网域网络信息技术有限公司. 版权所有
    E-mail:Webmaster@itpub.net
    网站律师 隐私政策 知识产权声明
    京ICP证:060528号 联系我们