什么是 ASCII?
ASCII(American Standard Code for Information Interchange,美國信息交換標準代碼)是一種字符編碼標準,用于在計算機、通信設備及其他設備中表示文字、符號和控制信息。它最早于 1963 年由美國國家標準學會(ANSI)發布,后來成為計算機字符集的基礎。
ASCII 的關鍵特點
1. 字符范圍
-
ASCII 使用 7 位二進制表示一個字符,共支持 128 個字符。
-
編碼范圍:0 到 127。
-
每個字符對應一個數字(整數值),這就是它的 ASCII 編碼值。
-
例如:
A
的 ASCII 值是 65,a
是 97。
-
2. 字符分類
-
控制字符(0-31 和 127): 主要用于控制設備(如換行、回車、響鈴等)。
-
示例:
-
0
(Null 空字符) -
10
(換行 LF) -
13
(回車 CR) -
27
(Escape ESC)
-
-
-
可顯示字符(32-126): 包括數字、字母和符號。
-
數字:
48-57
(0-9
)。 -
大寫字母:
65-90
(A-Z
)。 -
小寫字母:
97-122
(a-z
)。 -
特殊符號:如
33
(!
)、64
(@
)、35
(#
)等。
-
3. 擴展 ASCII
-
后來,一些擴展版本的 ASCII 使用 8 位(256 個字符),將前 128 個字符保持不變,新增了 128-255 的范圍,用于表示國際化字符和圖形符號等。
ASCII 編碼示例
字符 | 十進制 (Decimal) | 十六進制 (Hexadecimal) | 二進制 (Binary) |
---|---|---|---|
A | 65 | 41 | 01000001 |
a | 97 | 61 | 01100001 |
0 | 48 | 30 | 00110000 |
空格( ) | 32 | 20 | 00100000 |
換行(LF) | 10 | 0A | 00001010 |
ASCII 的用途
1. 數據交換
-
ASCII 是早期計算機間通信的通用標準,可以使不同設備通過 ASCII 碼正確理解傳輸的字符。
2. 程序設計
-
編程語言如 C、Python 和 PHP 等廣泛使用 ASCII 碼來處理字符。
-
常見的操作如
ord()
(獲取字符的 ASCII 值)和chr()
(將 ASCII 值轉換為字符)。
3. 現代編碼的基礎
-
ASCII 是 Unicode 和 UTF-8 等現代編碼的基礎。
-
在 Unicode 中,前 128 個字符與 ASCII 保持一致,確保兼容性。
示例:使用 ASCII 編碼
1. 用 PHP 獲取字符的 ASCII 值和反向轉換
// 獲取字符的 ASCII 值
echo ord('A'); // 輸出 65// 將 ASCII 值轉換為字符
echo chr(65); // 輸出 A
2. 生成 ASCII 字符表
for ($i = 32; $i < 128; $i++) {echo "ASCII $i: " . chr($i) . PHP_EOL;
}
3. 處理多字節數據
// 將 32 位無符號整數打包為大端字節序
$number = 123456789;
$packed = pack('N', $number);
echo bin2hex($packed); // 輸出 "075bcd15"(16 進制表示)// 解包回整數
$unpacked = unpack('N', $packed);
print_r($unpacked);
// 輸出:Array([1] => 123456789)
總結
ASCII 是一種歷史悠久但仍然重要的字符編碼標準,為現代計算機通信和字符表示奠定了基礎。它的簡單性使其在編程和數據處理中的使用十分廣泛。無論是基礎的字符處理,還是復雜的通信協議,ASCII 都扮演著不可或缺的角色。