1. ASCII碼

ASCII碼的取值範圍是0~127,可以用7個bit表示。C語言中char型變數的大小規定為一位元組,如果存放ASCII碼則只用到低7位,高位為0。以下是ASCII碼表:

圖 A.1. ASCII碼表

ASCII碼表

絶大多數計算機的一個位元組是8位,取值範圍是0~255,而ASCII碼並沒有規定編號為128~255的字元,為了能表示更多字元,各廠商制定了很多種ASCII碼的擴展規範。注意,雖然通常把這些規範稱為擴展ASCII碼(Extended ASCII),但其實它們並不屬於ASCII碼標準。例如以下這種擴展ASCII碼由IBM制定,在字元終端下被廣泛採用,其中包含了很多表格邊線字元用來畫界面。

圖 A.2. IBM的擴展ASCII碼表

IBM的擴展ASCII碼表

在圖形界面中最廣泛使用的擴展ASCII碼是ISO-8859-1,也稱為Latin-1,其中包含歐洲各國語言中最常用的非英文字母,但畢竟只有128個字元,某些語言中的某些字母沒有包含。如下表所示。

圖 A.3. ISO-8859-1

ISO-8859-1

編號為128~159的是一些控制字元,在上表中沒有列出。