根据我国相关字符编码的标准,所谓字符(Character)是指供组织、控制或表示数据的元素集合中的一个元素。编码字符集(Coded Character Set)是指一组明确的规则,它建立字符集和该字符集内的字符与其位组之间一一对应的关系。而字符又分为控制字符和图形字符。控制字符(Control Character)是指一种控制功能,它的编码表示由单个位组组成。它影响数据的记录、处理、传输或解释的一种动作或作用,如回车“CR”、正文开始“STX”等。图形字符(Graphic Character)是指不同于控制功能的一类字符,它有可见的表示,通常是手写的、打印的或显示的,并且它有一个或多个位组组成的编码表示。那么依据图形字符的定义,图形字符又包括文字字符(如汉字、少数民族文字等)和非文字字符(如字母(汉字拼音字母和英文字母等)、数字、标点符号等其它符号)。
下述要介绍的是控制字符和非文字字符的编码,即不包括文字的编码,也可简单的称之为符号编码。符号编码通常多采用单字节的七位或八位二进制编码。在信息通信系统中,我们常用到符号编码的编码字符集有ASCII、中国编码字符集、IA5(IRA)等;另外还有如EBCDIC、BCD、NBCH及ITA2等。
1、美国信息交换标准代码(ASCII)
美国信息交换标准代码(ASCII,American Standard Code for Information Interchange)是由美国国家标准协会(ANSI)开发的,是现在用的比较多的一种符号字符集。上世纪50年代,由于美国在研究用计算机处理信息时,ANSI着手编制制定常用字符的二进制数表示方案,该方案在1967年定案,即为ASCII。ASCII方案每个字符用7比特编码,即用3比特对“列”进行编码(共有8列),用4比特对“行”进行编码(共有16行),共有128个位置(位组),即可对128个字符进行编码。这些位置分配给相应的控制字符和图形字符,即对这些字符进行了二进制编码。在使用中已把ASCII封装在协议中进行传输。下表1-1给出了ASCII字符集及编码。下表1-2给出了控制字符的含义及中英文对照,其控制字符的解释可参见下表2-2。ASCII方案开始为美国国家标准,后来在1972年被ISO采用,制定为国际标准,即ISO 646,并做了补充。
表 1-1:ASCII编码字符集
表 1-2:ASCII码字符集中控制字符的含义及中英文对照(按编码顺序排列)
2、中国标准编码字符集
1980年,我国颁布了GB 1988-1980《信息交换用的七位编码字符集》的国家标准(现在的最新版本是GB/T 1988-1998《信息技术 信息交换用七位编码字符集》),规定了中国标准的7位编码字符集。GB/T 1988-1998等效采用了国际标准ISO/IEC 646:1991《信息技术 信息交换用ISO七位编码字符集》(1991版是它的第3个版本,它与ITU-T T.50的国际第五号电码表(IA5)基本相同)。
GB/T 1988-1998与ISO/IEC 646:1991的差别仅是在2/4位置用人民币符号“¥”(人民币元记号)代替了ISO/IEC 646中的通用货币符号“$”(或IA5的“¤”符号)。中国编码字符集的结构(如下图2所示)与ASCII码字符集、ISO/IEC 646字符集、ITU-T T.50字符集基本相同。图2中包括了:32个控制字符的C0控制字符集;94个图形字符的G0图形字符集;1个图形字符“间隔”(SP)和1个字符“抹掉”(DEL),共128个位组。中国字符集与ASCII码字符集非常相近,但略有不同,具体详见下表2-1。表2-1中对128个位置全部使用,其中控制字符的含义是由我国标准GB/T 5261《信息处理 七位和八位编码字符集用的控制功能》所定义的,具体详见下表与表2-2。若要详细了解GB/T 1988-1998标准具体内容的请查阅下附件2。
图 2:7位编码字符集结构
表 2-1:中国标准7位编码字符集
表 2-2:控制字符含义及解释
附件 2:GB/T 1988-1998《信息技术 信息交换用七位编码字符集》
3、国际参考字母表(IRA)
国际参考字母表(IRA,International Reference Alphabet),以前称为国际第五号电码表(IA5,International Alphabet No.5),是由ITU-T规范的一种字符集编码标准。在1976年10月,ITU根据ISO 646标准,制定了ITU-T V.3《International Alphabet No.5》建议书,后来经过几次修订,最新版本为ITU-T T.50(09/92)《信息技术-用于信息交换的七位编码字符集》。它与ISO/IEC 646字符集和中国字符集(GB/T 1988)基本相同,与ASCII字符集非常接近,也是一种7位二进制码,只是在2/3位和2/4位由货币符号可选择置换,下表3-1给出了其国际参考版本(IRV,International Reference Version);ITU-T T.50中也给出了控制字符的含义及解释,同表2-2中。若要详细了解ITU-T T.50建议具体内容的请查阅附件3。
表 3:ITU的国际第五号字母表(表5/T.50,IRV)
附件 3:ITU-T T.50(09/92)《信息技术-用于信息交换的七位编码字符集》
4、扩充二进制编码的十进制交换码(EBCDIC)
扩充二进制编码的十进制交换码(EBCDIC,Extended Binary Code Decimal Information Code)是由IBM公司提出的,主要用于终端设备。EBCDIC每个字符用8比特编码,共有256个编码状态。EBCDIC比ASCII支持的图形字符要多,EBCDIC码字符集除扩展位以外与ASCII字符集差不多。然而,EBCDIC在现在的网络环境中已很少使用。下表4给出了EBCDIC编码字符集。
表 4:EBCDIC编码字符集
5、BCD码与NBCH码:
二进制编码的十进制数(BCD,Binary Code Decimal)是如今使用最多的用来表示数字的另一种编码方式,以前是用6比特编码表示文字和数字,现在它仅用4比特表示。它是用4比特二进制自然码为一组来表达十进制码的0~9,BCD码的优点是可以用比特表示数字,虽然它只包括0~9,但是,它们组合起来可以表示任意数字,所用的比特比ASCII和EBCDIC要少。BCD在ISDN中用来表示电话号码,在7号信令系统中用来传送交换机间的控制信息。下表5-1给出了BCD编码字符集。同理,由于4比特有16种组合,因此应有二进制编码的十六进制数(NBCH,Natural Binary Coded Hexadecimal),其NBCH编码字符集详见下表5-2。
表 5-1:BCD码字符集
表 5-2:NBCH码字符集
6、国际电报2号码(ITA2)
国际电报2号码(ITA2,International Telegraph Alphabet Number 2)又称博多(Baudot)码,是一种5位二进制码,目前仅在某些低速数据通信系统中使用,是现在起止式电传电报通信中的标准电码,详见下图6。因其采用“字母(Letter)”与“数字(Figure)”转移控制码分别控制电传机产生“下移”、“上移”动作,从而可代表包括字母、数字、符号和操作控制符在内的58个字符,而不是25 = 32个。不过,一旦某个转移控制码出错,将导致随后的码字含义改变,直至接收到下一个正确的转移控制码,影响十分严重。
图 6:起止式电传电报信号
7、莫尔斯码(Morse)
莫尔斯(Morse)码是一种最早的编码,是由美国人莫尔斯(S. Morse) 在1837年设计出的;它利用“点(短信号)”、“划(长信号)”及其“间隔(无信号)”的不同组合来表示数字、字母、标点和符号等的著名编码,详见下图7。
图 7:莫尔斯码的代码符号(数字0~9)
欲进一步了解我国汉字编码字符集介绍的请进入。