计算机中字符的表示

发布时间:2022-10-07编辑:zhushican阅读(377)

计算机中,对非数值的文字和其他符号进行处理时,要对文字和符号进行数字化,即用二进制编码来表示文字和符号。其中西文字符最常用到的编码方案有ASCII编码和EBCDIC编码。对于汉字,我国也制定的相应的编码方案。

计算机中字符的表示

1 ASCII编码

微机和小型计算机中普遍采用ASCII码(American Standard Code forInformation Interchange,美国信息交换标准代码)表示字符数据,该编码被ISO(国际化标准组织)采纳,作为国际上通用的信息交换代码。

ASCII码由7位二进制数组成,由于27=128,所以能够表示128个字符数据。

2 ANSI编码和其他扩展的ASCII码

ANSI(美国国家标准协会)编码是一种扩展的ASCII码,使用8个比特来表示每个符号。8个比特能表示出256个信息单元,因此它可以对256个字符进行编码。ANSI码开始的128个字符的编码和ASCII码定义的一样,只是在最左边加了一个0。例如:在 ASCII编码中,字符“a”用1100001表示,而在ANSI编码中,则用01100001表示。除了ASCII码表示的128个字符外,ANSI码还可以表示另外的128个符号,如版权符号、英镑符号、希腊字符等。

除了ANSI编码外,世界上还存在着另外一些对ASCII码进行扩展的编码方案,ASCII码通过扩展甚至可以编码中文、日文和韩文字符。不过令人遗憾的是,正是由于这些编码方案的存在导致了编码的混淆和不兼容性。

3 EBCDIC编码

尽管ASCII码是计算机世界的主要标准,但在许多IBM大型机系统上却没有采用。在IBM System/360计算机中,IBM研制了自己的8位字符编码——EBCDIC码(Extended Binary Coded Decimal Interchange Code,扩展的二-十进制交换码)。该编码是对早期的BCDIC6位编码的扩展,其中一个字符的EBCDIC码占用一个字节,用8位二进制码表示信息,一共可以表示出256 种字符。

4 Unicode编码

在假定会有一个特定的字符编码系统能适用于世界上所有语言的前提下,1988年,几个主要的计算机公司一起开始研究一种替换ASCII码的编码,称为Unicode编码。鉴于ASCII码是7位编码,Unicode采用16位编码,每一个字符需要2个字节。这意味着Unicode的字符编码范围从0000h~FFFFh,可以表示65536个不同字符。

Unicode编码不是从零开始构造的,开始的128个字符编码0000h~007Fh就与ASCII码字符一致,这样就能够兼顾已存在的编码方案,并有足够的扩展空间。从原理上来说,Unicode可以表示现在正在使用的、或者已经没有使用的任何语言中的字符。对于国际商业和通讯来说,这种编码方式是非常有用的,因为在一个文件中可能需要包含有汉语、英语和日语等不同的文字。并且, Unicode还适合于软件的本地化,也就是针对特定的国家修改软件。使用Unicode,软件开发人员可以修改屏幕的提示、菜单和错误信息来适合于不同的语言和地区。目前,Unicode编码在Internet中有着较为广泛的使用,Microsoft和Apple公司也已经在他们的操作系统中支持Unicode编码。

计算机中字符的表示

尽管Unicode对现有的字符编码做了明显改进,但并不能保证它能很快被人们接受。ASCII码和无数的有缺陷的扩展ASCII码已经在计算机世界中占有一席之地,要把它们逐出计算机世界并不是一件很容易的事。

国家标准汉字编码(GB2312-80)

国家标准汉字编码简称国标码。该编码集的全称是“信息交换用汉字编码字符—基本集”,国家标准号是“GB2312-80”。该编码的主要用途是作为汉字信息交换码使用。

GB2312-80标准含有6763个汉字,其中一级汉字(最常用)3755个,按汉语拼音顺序排列;二级汉字3008个,按部首和笔画排列;另外还包括682个西文字符、图符。 GB2312-80标准将汉字分成94个区,每个区又包含94个位,每位存放一个汉字,这样以来,每个汉字就有一个区号和一个位号,所以我们也经常将国标码称为区位码。例如:汉字“青”在39区64位,其区位码是3964;汉字“岛”在21区26位,其区位码是2126。

国标码规定:一个汉字用两个字节来表示,每个字节只用前七位,最高位均未作定义。但我们要注意,国标码不同于ASCII码,并非汉字在计算机内的真正表示代码,它仅仅是一种编码方案,计算机内部汉字的代码叫做汉字机内码,简称汉字内码。

在微机中,汉字内码一般都是采用两字节表示,前一字节由区号与十六进制数A0相加,后一字节由位号与十六进制数A0相加,因此,汉字编码两字节的最高位都是1,这种形式避免了国标码与标准ASCII码的二义性(用最高位来区别)。在计算机系统中,由于机内码的存在,输入汉字时就允许用户根据自己的习惯使用不同的输入码,进入计算机系统后再统一转换成机内码存储

其他汉字编码

       除了我们前面谈到的国标码之外,还有另外的一些汉字编码方案。例如,在我国的台湾地区,就使用Big5汉字编码方案。这种编码就不同于我们的国标码,因此在双方的交流中就会涉及到汉字内码的转换,特别是Internet的发展使人们更加关注这个问题。现在虽然已经推出了许多支持多内码的汉字操作系统平台,但是全球汉字信息编码的标准化已成为社会发展的必然趋势。



评论