根據我國相關字符編碼的標準,所謂字符(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)
欲進一步了解我國漢字編碼字符集介紹的請進入。