查看文章 |
GB2312 (Simplified Chinese) character code table中对应汉字”中国”的编码。 code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F code +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F GB2312码是中华人民共和国国家汉字信息交换用编码,全称《信息交换用汉字编码字符集--基本集》,由国家标准总局发布,1981年5月1日实施,通行于大陆。新加坡等地也使用此编码。 GB2312收录简化汉字及符号、字母、日文假名等共7445个图形字符,其中汉字占6763个。GB2312规定"对任意一个图形字符都采用两个 字节表示,每个字节均采用七位编码表示",习惯上称第一个字节为"高字节",第二个字节为"低字节"。GB2312-80包含了大部分常用的一、二级汉 字,和9区的符号。该字符集是几乎所有的中文系统和国际化的软件都支持的中文字符集,这也是最基本的中文字符集。其编码范围是高位0xa1-0xfe,低 位也是0xa1-0xfe;汉字从0xb0a1开始,结束于0xf7fe。共包含682个符号(第01-09区)、6763个汉字(第16-87区)(以下第01-09区为国标符号,第10-15区为空区)
----------------------------------- 1 GB2312-80 2 GBK
GB2312 -80仅收汉字6763个,这大大少于现有汉字,随着时间推移及汉字文化的不断延伸推广,有些原来很少用的字,现在变成了常用字,例如:朱镕基的“镕” 字,未收入GB2312-80,现在大陆的报业出刊只得使用(金+容)、(金容)、(左金右容)等来表示,形式不一而同,这使得表示、存储、输入、处理都 非常不方便,对于搜索引擎等软件的构造来说也不是好消息,而且这种表示没有统一标准。从我们对人民日报98年数据的处理过程中,得出这样的经验:回填外字 最困难的就是如何得到这种表示方法的集合。 为了解决这些问题,以及配合UNICODE的实施,全国信息技术化技术委员会于1995年12 月1日《汉字内码扩展规范》。GBK向下与GB2312 完全兼容,向上支持ISO 10646国际标准,在前者向后者过渡过程中起到的承上启下的作用。GBK 亦采用双字节表示,总体编码范围为8140-FEFE之间,首字节在81-FE之间,尾字节在40-FE之间,剔除XX7F一条线。 GBK共收入21886个汉字和图形符号,包括: * GB2312中的全部汉字、非汉字符号。 * BIG5中的全部汉字。 * 与ISO 10646相应的国家标准GB13000中的其它CJK汉字,以上合计20902个汉字。 * 其它汉字、部首、符号,共计984个。 微软公司自Windows 95 简体中文版开始支持GBK代码,但目前的多数搜索引擎都不能很好地支持GBK汉字。 GBK编码区分三部分: * 汉字区 包括 GBK/2:OXBOA1-F7FE, 收录GB2312汉字6763个,按原序排列; GBK/3:OX8140-AOFE,收录CJK汉字6080个; GBK/4:OXAA40-FEAO,收录CJK汉字和增补的汉字8160个。 * 图形符号区 包括 GBK/1:OXA1A1-A9FE,除GB2312的符号外,还增补了其它符号 GBK/5:OXA840-A9AO,扩除非汉字区。 * 用户自定义区 即GBK区域中的空白区,用户可以自己定义字符。
3 GB18030
------------------------------------------------------------------------------------------------------------GB18030 是最新的汉字编码字符集国家标准, 向下兼容 GBK 和 GB2312 标准。 GB18030 编码是一二四字节变长编码。一字节部分从 0x0~0x7F 与 ASCII 编码兼容。 二字节部分, 首字节从 0x81~0xFE, 尾字节从 0x40~0x7E 以及 0x80~0xFE, 与 GBK标准基本兼容。 四字节部分, 第一字节从 0x81~0xFE, 第二字节从 0x30~0x39, 第三和第四字节的范围和前两个字节分别相同。 四字节部分覆盖了从 0x0080 开始, 除去二字节部分已经覆盖的所有 Unicode 3.1 码位。也就是说, GB18030 编码在码位空间上做到了与 Unicode 标准一一对应,这一点与 UTF-8 编码类似。 目前最 新的 glibc 2.2.x 系列已经全面支持了 GB18030 Locale 和 GB18030 与 UCS-4 之间的编码转换, 也就是说在系统层上 Linux 已经可以支持 GB18030 标准了。 下面问题的关键就是怎样让 XFree86 窗口系统也支持 GB18030 标准。 GB18030编码空间约为160万码位,目前已编码的字符约2.6万。随着我国汉字整理和编码研究工作的不断深入,以及国际标准ISO/IEC 10646的不断发展,GB18030所收录的字符将在新版本中增加。 4 BIG5
BIG5是通行于台湾、香港地区的一个繁体字编码方案。虽然存在一些瑕疵,但广泛应用于电脑行业,尤其是互联网中,从而成为一种事实上的行业标准。 1983年10月,台湾国家科学委员会、教育部国语推行委员会、中央标准局、行政院共同制定了《通用汉字标准交换码》,后经修订于1992年5月公布,更名为《中文标准交换码》,BIG5是台湾资讯工业策进会根据以上标准制定的编码方案。 BIG5码是双字节编码方案,其中第一个字节的值在OXAO-OXFE之间,第二个字节在OX40-OX7E和OXA1-OXFE之间。 BIG5收录13461个汉字和符号,包括: * 符号408个,编码位置A140-A3BE * 常用字5401个,编码位置A440-C67E,包括台湾教育部颁布的《常用国字标准字体表》的全部汉字4808个,台湾教科书常用字587个,异体字6个。 * 次常用字7652个,编码位置C940-F9D5,包括台湾教育部颁布的《次常用国字标准字体表》的全部汉字6341个,《罕用国字标准字体表》中使用频率较高的字1311个。 在浏览一些网址中,我们可以看到这样一些特别的现象,就是网址中会出现一些百分号(%)和一字母数字组成的让我们看不明白的乱码,这究竟是怎么回事,它们又都是些什么东西呢? 其实,这里由%和数字字母组成的有规律性的“乱码”它们并不真是乱码,它们是一种特殊的编码,有电脑基础的人就知道,计算机它是不认得中文汉字的,要让计算机认识这些编码必须要转换成一些字母和数字等组成的代码。 事实上,我们在浏览器地址栏中看到的由%号和字母数字组成的乱码,我们可以发现它们有一些规律,即都是三个字符一组,排在最前面的肯定是百分号%。 它们不是什么乱码,它们其实是UTF-8编码或者gbk(GB2312)编码,那些百分号(%)后面的数字和字母其实就是16进制数。 中文的gbk(GB2312)编码 如果是中文的gbk(GB2312)编码,那么它的形式应该是这样的,即一个汉字对应两组%xx,即%xx%xx,比如http://www.baidu.com/baidu?tn=baidu&word=%D6%D0%B9%FA 这个网页地址是百度的,百度是使用GB2312编码的,这个网址中我们可以看到的特殊代码是“%D6%D0%B9%FA”,其中前面的“%D6%D0”就对应中文汉字“中”字,后面的“%B9%FA”就对应中国汉字“国”字。 中文的UTF-8编码 如果是中文的UTF-8编码,那么它的形式应该是这样的,即一个汉字对应三组%xx,即%xx%xx%xx,比如http://www.icpoline.com/tag/%e7%bd%91%e6%b0%91 ,这个网址是本站IcpOline.com的网页,IcpOline使用的是UTF-8编码,这个网址中的”%e7%bd%91%e6%b0%91″对应着中文汉字“网民”,即“%e7%bd%91”对应汉字“网”,“%e6%b0%91”对应中文汉字“民”。 再看个例子 http://www.google.cn/search?q=%BA%BA%D7%D6&ie=GB2312&oe=GB2312&hl=zh-CN 上面这两个地址在浏览器中都会显示谷歌关于关键词“汉字”的搜索结果网页,只不过前面的一个是GB2312网页,后面一个是UTF-8编码网页,我们可以很明显的看出它们中“乱码”的区别。 为什么要使用这样的编码? 这是为了兼容一些设备,有些设备只能传ASCII码,只认识128个字符,不认识汉字。(作者:icpoline) 参考: www.icpoline.com/archives/4109 www.fish888.com/GB2312-t111431 blog.csdn.net/liujinchengjx/archive/2007/03/13/1527909.aspx tech.sina.com.cn/s/2001-07-26/1850.html |