標準 7 位元 ASCII 為原始美國資訊交換標準代碼中的每個字母、數字、標點符號與控制字元指派一個介於 0 到 127 的十進位代碼,而 ASCII 代碼轉換器會將文字轉成該十進位數字序列,或將十進位數字序列解碼回完全相同的原始文字。每個可列印的 ASCII 字元都對應到該範圍內的一個十進位整數,而這套對應關係由 IETF RFC 20 所固定,並對照 Unicode 的 C0 控制字元與基本拉丁文對照表 進行交叉比對,這代表在任何合規的工具上,相同的輸入一律會產生相同的輸出。由於範圍小、指派固定,ASCII 轉換器是最適合用一個完整範例來展示的字元編碼工具:挑選一段簡短字串、查詢每個字元的十進位值、把該數字序列抄下來、再把同樣的數字回填到轉換器,確認重建出來的文字與原始內容逐位元組相符。這種往返性質正是讓轉換器範例得以重現的關鍵,也說明了這個工具為何能對驗證如此嚴格,因為它背後沒有任何模糊空間可以藏匿。較高的數值、多位元組序列以及地區專屬的代碼頁全都落在 7 位元 ASCII 範圍之外,因此一個遵守標準的工具會予以拒絕,而不是悄悄替換成另一個字元。

ASCII 代碼轉換器會產生什麼
ASCII 轉換器接受兩種輸入,並產生對應的一種輸出。選擇文字轉代碼時,轉換器會逐字元掃描你的輸入,在 7 位元 ASCII 對照表中查詢每個字元的十進位值,然後回傳一份以空格分隔的十進位整數清單。選擇代碼轉文字時,轉換器會解析以空格、逗號或換行分隔的十進位整數清單,再依序重建出原始字元。這個工具完全在目前的瀏覽器分頁中運作,因此輸入內容從不離開你的機器,而接受的範圍正好是 0 到 127,不是 0 到 255,也不是延伸 ASCII,更不是任何地區專屬的代碼頁。
這個嚴格的 0–127 界線至關重要。128 到 255 的數值在 Windows-1252、ISO-8859-1 及其他舊式代碼頁中可能代表不同意義,因此若轉換器悄悄重新解讀這些數值,便可能在沒有任何警告的情況下給出錯誤的字元。ASCII 轉換器 會在遇到第一個超出 7 位元 ASCII 範圍的字元時予以拒絕並回報其位置,而在解碼端,它也會拒絕正負號、分數、十六進位前綴、空 token,以及任何大於 127 的數值。像這樣「失敗時封閉」的做法,正是讓轉換器範例能夠重現的原因,因為相同的輸入一律會產生相同的輸出。
如何執行文字轉代碼
- 開啟 ASCII 轉換器,並選擇文字轉代碼的方向。
- 貼上或輸入你想要編碼的字串。只要是 US 鍵盤上能輸入的都適用,像是 TAB 與換行這類控制字元也可以。
- 選擇「Convert ASCII」(轉換 ASCII)。結果會在輸出區以一行以空格分隔的十進位整數呈現,每個輸入字元對應一個整數。
- 讀取十進位代碼。每個整數介於 0 到 127 之間,遵循 RFC 20 所固定的指派。
- 若有需要,可以使用複製按鈕把結果複製起來,以便貼到筆記本、程式或訊息中。
如果你已經有十進位代碼,想測試反向流程,請切換到代碼轉文字,把十進位清單貼上(數字之間可以使用空格、逗號或換行的任意組合),然後再次選擇「Convert ASCII」。轉換器會對輸入進行 token 化,逐一檢查每個 token 是否符合 0–127 規則,並依原始順序重建出完全相同的字元。
範例:把單字「Hi」編碼為十進位
一個具體的 ASCII 代碼轉換器範例從一個兩個字母的單字開始。以「Hi」為例,先是大寫 H,接著是小寫 i。根據固定的 ASCII 指派,大寫 H 為十進位 72,小寫 i 為十進位 105。因此,文字轉代碼會產生:
72 105
這就是輸入「Hi」的完整輸出:每個字元對應一個十進位整數,以單一空格分隔。如果你在結尾加上一個驚嘆號,「Hi!」就會變成 72 105 33,因為十進位 33 就是驚嘆號。如果你加上一個空格,「Hi you」就會變成 72 105 32 121 111 117,因為十進位 32 本身代表的就是空格字元。每個代碼各自都具有意義,你都可以逐一對照標準的 7 位元 ASCII 表加以確認。
如何解讀輸出
以空格分隔的十進位是最容易複製到其他工具,以及最容易用文字描述的格式。有少數代碼因為經常出現,值得一眼認出:十進位 9 是 TAB、十進位 10 是換行、十進位 13 是歸位、十進位 32 是空格、十進位 48 是數字 0、十進位 57 是數字 9、十進位 65 是大寫 A、十進位 90 是大寫 Z、十進位 97 是小寫 a、十進位 122 是小寫 z、十進位 127 是 DEL。
| 十進位 | 字元 | 類別 |
|---|---|---|
| 0 | NUL | 控制字元 |
| 9 | TAB | 控制字元 (空白) |
| 10 | LF | 控制字元 (換行) |
| 13 | CR | 控制字元 (歸位) |
| 32 | 空格 | 可列印空白 |
| 48 | 0 | 數字 |
| 65 | A | 大寫字母 |
| 97 | a | 小寫字母 |
| 127 | DEL | 控制字元 |
上述數值取自官方的 RFC 20 與 Unicode C0 控制字元與基本拉丁文對照表,並非自行計算。完整表格涵蓋 0 到 127,包含所有標點符號、兩種大小寫字母,以及所有數字;上表列出的是日常轉換中最常被查詢的那些列。
範例:把數字解碼回字元
反向作業會接收一串十進位整數,並回傳對應的字元。拿上一節的代碼 72 105,把它輸入代碼轉文字的欄位。轉換器會把 72 與 105 各自做 token 化,檢查每個 token 都是介於 0–127 的無號整數,然後依序寫出對應的字元,讓你精準地取回「Hi」。
你可以自由混用分隔符。輸入「72, 105」與輸入「72\n105」都會解碼成同一個兩個字元的字串,因為轉換器會依逗號、空格與換行來切割。如果你覺得加上前導零較易閱讀,也可以這樣寫:「072 105」一樣會解碼成「Hi」。帶有前導正負號、小數點或十六進位前綴(例如 0x48)的 token 會被拒絕,因為它們並非介於 0–127 的純無號整數。
若要一個更長一點的完整範例,字串「ABC」會編碼為 65 66 67。解碼 65 66 67 會得到「ABC」。在每對字元之間多加一個逗號,寫成「65, 66, 67」,依然會解碼為「ABC」。這種往返性質正是這個工具在手動檢查時的價值所在:把你已知的字串編碼,再把得到的數字解碼,並確認結果與原始內容一致。
當解碼結果看起來是空的
查看解碼結果時,一個常見的意外是某些字元不會顯示可見的字符。代碼 0 到 31 以及代碼 127 都屬於控制字元,因此它們在視覺上會產生作用,而非呈現一個可列印的形狀:TAB 會推進到下一個定位點,換行會開啟新的一行,歸位會把游標送回行首,其他則完全不顯示任何東西。如果你的輸入是 65 9 66 67,輸出會讀作「A」,接著是一個 tab,再接著「BC」,多數瀏覽器會以額外的空格呈現 A 與 BC 之間的距離。如果你的輸入是 65 0 66,輸出會讀作「A」,接著是沒有可見字符的內容,再接著「B」,因為 NUL 沒有字形。
當可見性很重要時,請改為查看十進位輸出。把十進位序列複製到位元組感知的編輯器或十六進位檢視器中,是在不遺失控制字元的前提下檢查它們最安全的方式。轉換器並不會去除控制碼,因為它們屬於 7 位元 ASCII 範圍的一部分,但螢幕上呈現的文字可能會把它們隱藏起來。
轉換器會拒絕哪些內容
任何不符合 7 位元 ASCII 規則的輸入,都會以明確可見的錯誤訊息呈現,而不是悄悄改寫。在編碼端,第一個數值超過 127 的字元會停止轉換,轉換器並回報其位置。因此,輸入「ABCé」會產生「65 66 67」,並在小寫 é 上標記錯誤,因為含銳音符的 e 其 Unicode 碼點落在 7 位元 ASCII 範圍之外。在解碼端,任何不是純無號整數,或落在 0 到 127 之外的 token 都會被拒絕,並附上指向該 token 的訊息。
輸入大小也設有上限。ASCII 轉換器在編碼端最多接受 100,000 個 UTF-16 碼元,在解碼端最多接受 50,000 個代碼。若輸入更大、需要 UTF-8 位元組轉換、需要 Windows-1252 或 ISO-8859-1 等代碼頁,或涉及 Unicode 碼點與表情符號,則需要使用明確標示其預期編碼的轉換器。把 Unicode 當成 ASCII 處理,是產生亂碼的典型原因之一,而 ASCII 轉換器中的嚴格拒絕規則,正是為了避免這項錯誤在不知不覺中發生。
這個工具與其他相關編碼器的差異
本站有幾款編碼工具乍看之下相當類似。ASCII 轉換器是其中專門把整段文字序列當作十進位 7 位元值來處理,並在輸入不是 ASCII 時採取「失敗時封閉」策略的一款。下表摘要列出每款工具劃定的界線。
| 工具 | 輸入格式 | 輸出格式 | 接受範圍 |
|---|---|---|---|
| ASCII Converter | ASCII 文字或十進位 0–127 | 十進位 0–127 或 ASCII 文字 | 0 到 127 |
| Binary To Text | 二進位字串 | Unicode 文字 | UTF-8 位元組值 |
| Text To HEX | Unicode 文字 | 十六進位位元組 | UTF-8 位元組值 |
| Hex to Text Converter | 十六進位位元組 | Unicode 文字 | UTF-8 位元組值 |
其他工具在設計上就具備 8 位元感知:它們處理的是 UTF-8 位元組,因此能表示任何 Unicode 字元,包括帶腔調字母與表情符號。ASCII 轉換器在設計上則是 7 位元,這正好符合你在意的是 RFC 20 所固定的那套指派時的需求。如果你想要的是像 72 這種十進位值的十六進位形式,ASCII 轉換器並不會直接處理;你可以先把該數值解碼回字元,再透過 Text To HEX 工具往返一次,或直接查閱對照表。速查表 ASCII 代碼轉換器速查表:十進位快速對照 是當你只需要少數幾個代碼時,查詢個別字元與其十進位值最快速的方式。
若想更深入了解,請參閱 二進位轉文字詳解:0 與 1 如何變成文字。