ITPUB??ì3
报名申请微软有影响力专家
ITPUB论坛 » WEB程序开发 » GB18030-2000编码标准简介

新一届的微软MVP评选已经开始,欢迎各位推荐!

标题: [Tips] GB18030-2000编码标准简介
离线 臧圩人
zangweiren


来自 北京
精华贴数 9
个人空间 0
技术积分 6565 (214)
社区积分 2094 (630)
注册日期 2004-5-15
论坛徽章:22
管理团队成员管理团队2007贡献徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章八级虎吧徽章
嫦娥2009新春纪念徽章生肖徽章2007版:牛2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:跳水生肖徽章2007版:猴

发表于 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)
 

__________________
只看该作者    顶部
离线 臧圩人
zangweiren


来自 北京
精华贴数 9
个人空间 0
技术积分 6565 (214)
社区积分 2094 (630)
注册日期 2004-5-15
论坛徽章:22
管理团队成员管理团队2007贡献徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章八级虎吧徽章
嫦娥2009新春纪念徽章生肖徽章2007版:牛2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:跳水生肖徽章2007版:猴

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




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

__________________
只看该作者    顶部
离线 臧圩人
zangweiren


来自 北京
精华贴数 9
个人空间 0
技术积分 6565 (214)
社区积分 2094 (630)
注册日期 2004-5-15
论坛徽章:22
管理团队成员管理团队2007贡献徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章八级虎吧徽章
嫦娥2009新春纪念徽章生肖徽章2007版:牛2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:跳水生肖徽章2007版:猴

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

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


__________________
只看该作者    顶部
离线 臧圩人
zangweiren


来自 北京
精华贴数 9
个人空间 0
技术积分 6565 (214)
社区积分 2094 (630)
注册日期 2004-5-15
论坛徽章:22
管理团队成员管理团队2007贡献徽章管理团队2006纪念徽章会员2007贡献徽章会员2006贡献徽章八级虎吧徽章
嫦娥2009新春纪念徽章生肖徽章2007版:牛2008北京奥运纪念徽章:篮球2008北京奥运纪念徽章:跳水生肖徽章2007版:猴

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



__________________
只看该作者    顶部
离线 iammjj
初级会员



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

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

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


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


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

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


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


精华贴数 0
个人空间 0
技术积分 436 (4649)
社区积分 2 (24837)
注册日期 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号 联系我们 法律顾问