百度空间 | 百度首页 
 
查看文章
 
汉字的表示方法
2007-06-25 14:56
英文是拼音文字,一个不超过128种字符的字符集,就可满足英文处理的需要。汉字是平面结构,字数多,字形复杂、长期被认为不便于计算机存储和处理,因而常有一些知名人士主张用拼音文字来取代汉字。经过我国科技工作者的不懈努力,这一问题已得到了较好的解决,我国已经具备了成熟的汉字信息处理方法,并且得到了广泛应用。
      用计算机处理汉字,首先要解决汉字在计算机里如何表示的问题,即汉字编码问题。根据统计,在人们日常生活交往中,包括社会生活、经济、科学技术交流等方面,经常使用的汉字约有四、五千个。汉字字符集是一个很大的集合,至少需要用两个字节作为汉字编码的形式。原则上,两个字节可以表示 256×256=65536 种不同的符号,作为汉字编码表示的基础是可行的。但考虑到汉字编码与其它国际通用编码,如ASCII 西文字符编码的关系,我国国家标准局采用了加以修正的两字节汉字编码方案,只用了两个字节的低7位。这个方案可以容纳 128×128=16384 种不同的汉字,但为了与标准ASCII码兼容,每个字节中都不能再用32个控制功能码和码值为32的空格以及127的操作码。所以每个字节只能有94个编码。这样,双七位实际能够表示的字数是:94×94=8836个。
      国家根据汉字的常用程度定出了一级和二级汉字字符集,并规定了编码。国家标准局于1981年公布了国家标准GB2312-80,即信息交换用汉字编码字符集基本集,其中共收录汉字和图形符号(682个)7445个,包括:
一般符号202个:包括间隔符、标点、运算符和制表符号;
序号60个:它们是1~20(20个)(1)~(20) ①~⑩和(一)~(+);
数字22个:0~9 Ⅰ~Ⅻ;
英文字母52个;日文假名169个(83,86);希腊字母48个;俄文字母66个;
汉语拼音符号26个;汉语注音字母37个;
一级汉字3 755个,按汉语拼音字母顺序排列,同音按笔顺序;
二级汉字3 008个,按部音顺序排列。
      每一个汉字或符号都用两个字节表示。其中每一个字节的编码取值范围都是从20H到7EH,即十进制写法的33到126,这与ASCII编码中可打印字符的取值范围一样,都是94个。因为这样两个字节可以表示的不同字符总数为8 836个。而国标码字符集共有7 445个字符,所以在上述编码范围中实际上还有一些空位。
 
 
GB2312-80字符集的划分如图1-4所示。
图中序号用两字节表示,第一字节可视为存放位置的行号,从21H~7EH;第二字节可视为存放位置的列号,也从21H~7EH。如“啊”字,存放在30H行,21H列,则其序号为3021H,若用国标码来输入汉字,只需键入“3021”即可。
计算机对汉字进行处理也是对汉字的内码进行处理,例如汉字排序就是按照内码进行的。
            00~20  
21     22     23     24     25     26  …… 7C     7D     7F
00~20
   
1      2       3      4      5      6   …… 92     93      94
21~2F
1~15
非汉字图形符号(常用符号、数字序号、俄、法、希腊字母、日文假名等)
30~57
16~55
一级汉字(3755个)
58~77
56~87
二级汉字(3008个)
78~7E
88~94
7F
1-4     GB2312-80字符集结构
将图中有用部分的行和列重新编号,称为区号和位号。汉字的区位码是汉字所在区号和位号相连得到的。如“啊”字的区位码为“1601”,“丞”字为“5609”。汉字的国标码是直接把第一字节和第二字节编码得到的,通常用十六进制表示。例如:
  汉字     第一字节   第二字节   国标码   区位码
  啊      00110000         00100001          3021     1601
  水               01001011         00101110          432E         4314              
汉字国标码作为一种国家标准,是所有汉字编码都必须遵循的统一标准,但由于国标码每个字节的最高位都是“0”,与国际通用的标准ASCII码无法区分。例如,“天”字的国标码是 01001100    01101100 , 即两个字节分别是十进制的 76 108 ,十六进制的 4CH 6CH。而英文字符“L”和“1”的ASCII码也恰好是76和108,因此,如果内存中的两个字节76和108,就难以确定到底是汉字”天“字,还是英文字符“L”和“1”。显然,国标码必须进行某种变换才能在计算机内部使用。常见的用法是将两个字节的最高位设定为1(低7位采用国标码)。例如,汉字“天”字的机内码是 11001100    11101100 , 写成十六进制是 CCH ECH。即十进制的 204 236。但这种用法对国际通用性以及ASCII码在通信传输时加奇偶检验位等都是不利的,因而还有改进的必要。
目前,汉字编码的标准还没有完全统一。在我国台湾,港澳地区多用BIG-5码,世界其它地区的汉字文化圈中也存在一些其它的汉字编码方案。这就造成了各种汉字处理系统之间无法通用的局面。为使世界上包括汉字在内的各种文字的编码走上标准化、规范化的道路,1992年5月国际标准化组织ISO通过了ISO/IEC10640,即《通用多八位编码集(UCS)》,同时我国也制定了新的国家标准GB13000-1993(简称CJK字符集)。全国信息标准化技术委员会在此基础上发布了《汉字扩展内规范》,其中收集了中国、日本、韩国三国汉字共20 902个(简称GBK字符集),可以在很大程序上满足汉字处理的要求。
2000年3月17日,信息产业部和国家技术监督局联合公布了国家标准GB 18030-2000《信息技术、信息交换用汉字编码字符集、基本集的扩充》(简称CJK字符集),并宣布GB 18030为国家强制性标准,自发布之日起实施,过渡期到2000年12月31日止。
GB 18030是GB 2312的扩展,共收录了2.7万个汉字,采用单/双/四字节混合编码,与现有绝大多数操作系统、中文平台在内码一级兼容,可支持现有的应用系统;在字汇上则与GB 13000.1-1993兼容,并包容了其中收录的所有汉字、藏、蒙、维等少数民族文字,以及世界上几乎所有的语言文字,为中文信息在因特网上的传输和交换提供了保障。该标准的实施将为制定统一的应用软件中文接口标准规范创造条件

类别:电脑基础 | 添加到搜藏 | 浏览() | 评论 (0)
最近读者:
 
网友评论:
发表评论:
姓 名:
网址或邮箱: (选填)
内 容:
验证码: 请点击后输入四位验证码,字母不区分大小写
      

     
 
精彩相册
   
     

©2009 Baidu