ASCII 字符對照表速查表是一份精簡的參考資料,收錄全部 128 個標準 7 位元 ASCII 碼,每個碼皆以十進位、十六進位、八進位與七位元二進位顯示,並附上對應的字元或控制縮寫。標準 ASCII 於 1960 年代制定,至今仍內嵌於每一個現代 Unicode 文字檔中,涵蓋十進位位置 0 到 127,絕不超過此範圍。一份實用的速查表會保留這個界線,將同一碼以四種進位制並列顯示,並以 RFC 20 縮寫(NUL、HT、LF、CR、DEL 等等)標示不可列印的位置,而不是留白。四種表示法之所以重要,是因為原始碼、網路封包、命令列工具與說明文件各自偏好的慣例不同:C 風格的 0x41 表示十六進位,Python 的 0o101 表示八進位,0b1000001 表示二進位,三者其實都是同一個大寫字母 A。若沒有並列對照,在不同表示法之間切換時,任何除錯、剖析或編碼工作都會變慢。

ascii chart cheat sheet
ascii chart cheat sheet

一份可用的 ASCII 字符對照表速查表應包含什麼

速查表之所以稱得上是速查表,是因為它能快速瀏覽,且內容完整到足以回答任何 7 位元的查詢問題。以下六個要素區分了嚴謹的參考資料與裝飾性質的表格:

  • 全部 128 個位置。從十進位 0 到十進位 127 的每一個項目,依數值順序排列。任何短於此的內容只是抽樣,不是速查表。
  • 同一列顯示四種進位制。十進位、兩位數十六進位、三位數八進位與七位數二進位。使用固定寬度的前置詞(0x、0o、0b)讓表示法一目了然。
  • 可見的字形或控制縮寫。可列印字元顯示實際符號;位置 0 到 31 的控制碼使用 RFC 20 縮寫,例如 NUL、HT、LF、CR;十進位 127 顯示 DEL。
  • 具描述性的名稱。圖形字元的名稱遵循 Unicode 基本拉丁字母表,其餘則遵循 RFC 20 控制碼表,如此同一列在不同參考資料中讀起來一致。
  • 類別標籤。控制碼、空白、標點符號、數字、大寫、小寫或刪除碼。類別欄讓你不必捲動整個表格,即可篩選出某一區段。
  • 複製機制。每一列都應能匯出為完整紀錄(顯示值、名稱與四種數字),以便貼入程式註解、錯誤報告或教學筆記中。

若缺少上述任何要素,這份參考資料就會迫使讀者手動在不同表示法之間換算,或猜測所印數字的進位制。

四種表示法並列對照

速查表的核心任務是讓四種表示法一眼就能對等。下方表格展示代表性列應呈現的樣貌,並以大寫 A 作為換算範例。

GlyphNameDecHexOctBinaryCategory
(none)NUL00x000o0000b0000000Control
(none)HT90x090o0110b0001001Control
(none)LF100x0A0o0120b0001010Control
SPSpace320x200o0400b0100000Space
!Exclamation Mark330x210o0410b0100001Punctuation
0Digit Zero480x300o0600b0110000Digits
ALatin Capital Letter A650x410o1010b1000001Uppercase
aLatin Small Letter A970x610o1410b1100001Lowercase
(none)DEL1270x7F0o1770b1111111Delete

大寫 A(十進位 65)的換算範例:

  • 將 65 除以 16:商數 4,餘數 1,因此十六進位為 0x41。
  • 將 65 連除 8 三次:65 ÷ 8 = 8 餘 1;8 ÷ 8 = 1 餘 0;1 ÷ 8 = 0 餘 1,由下往上讀取餘數,得到八進位 0o101。
  • 將 65 表示為二的冪次之和:64 + 1 = 2⁶ + 2⁰,得到七位數二進位 0b1000001。

三種表示法,同一個字元。這種對等關係正是速查表無需再行計算就能清楚呈現的。

將 ASCII Table 工具作為可列印的速查表

ASCII Table 圍繞相同的六個要素建構:128 列、每列四種進位制、控制碼縮寫、名稱、類別標籤,以及每列的「複製」按鈕,可將完整紀錄寫入剪貼簿。以下是從搜尋到貼上該列的最短路徑。

  1. 在瀏覽器中開啟 ASCII Table,檢視完整的 128 個項目,從十進位 0 到十進位 127 排序。
  2. 當你知道要找什麼時,在搜尋框中輸入。純數字會以十進位解讀(因此輸入 65 會回傳大寫 A),而 0x41、0o101 與 0b1000001 則分別以十六進位、八進位與二進位找到同一列。你也可以透過控制碼縮寫(LF)、名稱(Line Feed)、類別(Digits)或字元字面值(char:space、char:0)進行搜尋。
  3. 當你想篩選特定區段時,從篩選器中選擇類別:控制碼、空白、標點符號、數字、大寫、小寫或刪除碼。所有符合的項目都會持續顯示;工具絕不會悄悄截斷較長的結果集。
  4. 閱讀符合列上的四種進位制,確認顯示的字元或縮寫,然後在該列上選擇「複製」,即可將完整紀錄(顯示值、名稱、十進位、十六進位、八進位、二進位)放入剪貼簿,用於程式註解、協定說明或教學資料中。

若瀏覽器拒絕剪貼簿存取,頁面會回報失敗而非假裝複製成功,此時更改搜尋或篩選條件會清除先前的狀態。所有步驟皆在本機執行,因此搜尋詞彙與複製的列內容不會傳送至任何外部服務。

ASCII 速查表與延伸 ASCII 表格的比較

常見的混淆來源在於十進位 127 以上的位元組範圍。標準 ASCII 刻意止於 127,任何混入「延伸 ASCII」的速查表都隱藏了一個重要的歧義。下方表格摘要說明每個碼段實際的由來。

RangeDefined byGlyphs coveredSafe to call ASCII?
0–127ASCII (RFC 20, ECMA-6)英文標點、數字 0–9、拉丁字母 A–Z 與 a–z、空白、32 個控制縮寫,以及獨立於 Delete 類別的 DEL(十進位 127)是 — 這就是標準 ASCII
128–159各種單一位元組延伸標點符號、附加口音符號字母、半形片假名否 — 解讀方式取決於編碼
160–255ISO-8859-1、Windows-1252、CP437 及其他附加口音拉丁字母、貨幣符號、方框繪圖字元否 — 不同字碼頁之間有歧異

僅憑位元組本身無法判斷字元;必須透過編碼才能識別。一份假裝 0 到 255 的每個位元組都是「延伸 ASCII」的速查表,會掩蓋這項事實。一份正確的 ASCII 速查表止於 127,標示其依據的標準,並提醒你在解碼任何超出該界線的位元組之前,先確認編碼。

表格每一列背後的標準

一份值得信賴的 ASCII 速查表,其每一列皆奠基於一份公開標準。實務上重要的來源有三:

  • IETF RFC 20(「ASCII format for Network Interchange」)定義了 128 碼表格、控制縮寫(NUL、HT、LF、CR、DEL 等),以及 DEL 並非控制字元的嚴格意義。RFC 20 正是不可列印位置使用縮寫而非字形的原因。
  • ECMA-6確認了該標準的 7 位元、128 字元範圍,這也是表格止於十進位 127 的技術依據。
  • Unicode 基本拉丁字母碼表為圖形字元指定了正式名稱(例如,十進位 65 為「Latin Capital Letter A」)。Unicode 的名稱與 RFC 20 的碼位一致,因此同一列在兩份來源中讀起來完全相同。

這三個標準正是速查表得以重現的基礎:十進位 65 是大寫 A,因為 RFC 20 如此規定;名稱為「Latin Capital Letter A」,因為 Unicode 如此規定;二進位形式 0b1000001 是固定的,因為 ASCII 正好是七位元寬。實務查詢時,可將速查表與 ASCII Table 搭配使用,讓你能透過任何你記得的線索 — 名稱、縮寫、十進位、有前置詞的進位制,或 char:value — 進行搜尋,並在不離開瀏覽器的情況下複製符合的列。對於在特定語言中套用這些碼的開發者,How to Use ASCII Code for Programming and Data Tasks指南會逐步示範 C、JavaScript、Python 與 shell 環境中的真實轉換情境,因為同一個字元經常需要在字串、整數與原始位元組之間轉換。

若你正在權衡選項,Chmod Calculator Cheat Sheet for Octal and rwx Notation對此有詳細說明。