Bear's House
資訊科技

認識中文字元碼

 
 

首  頁

資訊科技

教育學習

有感而發

相關鏈結

批評指教

 

 

二、單位元組編碼

(一)七位元位元組編碼

  美國標準資訊交換碼(American Standard Code for Information Interchange, ASCII)為美國的國家標準,係用以規範各電腦之間交換文數字資訊、電腦與週邊設備之間傳輸文數字資訊,以及電腦網路上傳輸文本檔案(text file)所用的英文字元與字元碼。目前,ASCII可以說是最重要的基本電腦標準,凡是能接受和處理英文資訊的電腦系統都必然配置有內建的ASCII。

  ASCII的字元碼是由依序排列的七個位元所構成的位元組,由左而右分別命名為b7、b6、b5、b4、b3、b2和b1,其中b7為最大數位(most significant digit),其權值相等於十進數64,b1為最小數位(least significant digit),其權值等於十進數1,如圖2-1所示。例如,英文字母“C”的ASCII碼為“1000011”,其值等於十進制64+2+1=67。七個位元可提供27=128個 碼位,以十進制表示為0至127,以十六進制表示則是00h至7Fh。這些十六進數字的高數位(即左邊的數位)對應於七個位元中的前三者b7、b6和b5,而低數位(即右邊的數位)則對應於七個位元裡的後四者b4、b3、b2和b1

位元名稱

b7 b6 b5 b4 b3 b2 b1

位元權值

64 32 16 8 4 2 1

圖2-1 ASCII的編碼格式

  圖2-2所示為ASCII的字元集編碼表:總共128個字元,分別填入對應的 碼位,安排成八個直行(對應於十六進制的高數位,即字元碼的前三個位元b7、b6和b5),每一直行為16個字元(對應於十六進制的低數位,即字元碼的後四個位元b4、b3、b2和b1。)。ASCII的字元集共包含94個圖形字元、空格(SP, space)和33個控制字元。94個圖形字元包括:26個大寫和26個小寫英文字母、10個阿拉伯數字、9個標點符號、6個括號,以及17個其它符號。這些圖形字元的字元碼範圍,以十進制表示為33至126,或以十六進制表示為21h至7Eh。「空格」的字元碼為32或20h,是個相當特別的字元,同時扮演著圖形字元與控制字元的雙重角色。「空格」雖然不能直接顯示出圖形,但卻在螢光幕上或報表紙上佔有和其它圖形字元同樣大小的空間,因此可視為圖形字元。在英文文件裡,詞和詞(單字和單字)之間必須插入空格,以便分隔前後相鄰的兩個英文詞。換言之,空格同時扮演著控制字元的角色:即英文語句的詞間分隔符(word separator)。

圖2-2 ASCII的字元集與編碼表

  ASCII其餘的33個字元則是控制字元,其 碼位從0到31(或00h到1Fh)共32個,再加上字元碼127(或7Fh)。ASCII的控制字元分成五組,分別為:

  • 十個通訊控制(communication control)字元,主要用於控制通訊線路上的資訊傳輸動作,依次為SOH(start of heading)、STX(start of text)、ETX(end of text)、EOT(end of transmission)、ENQ(enquiry)、ACK(acknowledge)、DLE(data link escape)、NAK(negative acknowledge)、SYN(synchronous idle)和ETB(end of transmission block)。

  • 六個格式效應符(format effecter)字元,主要用於控制文數字資訊顯示在螢光幕上或是列印在報表紙的格式,依次為BS(back space)、HT(horizontal tabulation)、LF(line feed)、VT(vertical tabulation)、FF(form feed)及CR(carriage return)。依ASCII的規定,電腦系統可選擇使用“先CR後LF”兩字元或只使用LF字元做為文本檔裡的換行控制符(或行間分隔符)。

  • 四個設備控制(device control)字元,依序為DC1、DC2、DC3及DC4,主要用以控制電腦附屬設備的連線以及離線動作。

  • 四個資訊分隔符(information separator)字元,主要用於將資料規範成階層式組織,依序為FS(file separator)、GS(group separator)、RS(record separator)與US(unit separator)。

  • 九個特殊功能字元,包括:NUL(null)、BEL(bell)、SO(shift out)、SI(shift in)、CAN(cancel)、EM(end of medium)、SUB(substitute)、ESC(escape)以及DEL(delete)。

上述控制字元的功能和說明,請詳見相關標準ISO/IEC 646(或對應的CNS 5205)和ISO/IEC 6429(或對應的CNS 13479)。

  ASCII不僅是美國的國家標準,它的94個圖形字元並且已經被1991年版的國際標準ISO/IEC 646指定為圖形字元集G0的「國際參照版本(IRV, International Reference Version)」。而且ASCII的前32個控制字元(從00h到1Fh)也同時被ISO/IEC 646列為控制字元集C0的參考附件。

 

(二)八位元位元組編碼

  現代的電腦,對於系統內部的資料表達或處理,絕大多數都已經是以八個位元為一個位元組。這八個位元,由左而右,可分別命名為b8、b7、b6、b5、b4、b3、b2和b1,其中b8為最大數位,其權值等於十進數128,而b1為最小數位,其權值等於十進制1,如圖2-3所示。八個位元可提供總共256個 碼位(比起七個位元的碼位整整多出一倍),以十進制表示為0至255,而以十六進制表示則是00h至FFh。這些十六進數字的高數位(即左邊的數位)對應於八個位元當中的前四者b8、b7、b6和b5,而低數位(即右邊的數位)則對應於八個位元中的後四者b4、b3、b2和b1

位元名稱

b8 b7 b6 b5 b4 b3 b2 b1

位元權值

128 64 32 16 8 4 2 1

圖2-3 八位元的編碼格式

  當ASCII做為內碼使用時,習慣上都會在最大位元b7的左邊加上一個設定為“0”的位元b8,因而由七位元交換碼變成八位元內碼。例如,大寫英文字母“A”的ASCII碼原為“1000001”,當做內碼使用則變成“01000001”。這種做法,意味著八位元內碼的256個 碼位當中,會有一半的編碼空間(即b8=1的128個碼位)閒置不用。因此廠商為了在PC或某些終端機上(例如:VT220)提供ASCII所無的一些字元(例如:非英文的字母、數學符號、畫表格用的邊、角、線段等),特別將b8=1的128個 碼位另外賦予字元,稱為延伸ASCII。圖2-4所示即IBM相容PC的延伸ASCII字元集編碼表,其中碼位FFh的字元為空白(BNK, blank)。請注意,延伸ASCII並非既定的共同標準,不同廠牌、規格的PC和終端機的內建延伸ASCII字元集,所選用字元的未必相同,而且即使是相同的字元,其字元碼也很可能不同。換言之,選用不同規格終端機的電腦,除非它們的延伸ASCII字元和字元碼相同,否則彼此的文數字資訊將不能直接交換。

圖2-4 IBM PC的延伸ASCII字元集與編碼表

上一章  返回目錄  下一章