Windows 上的 ASCII 碼轉換器可直接在瀏覽器中將標準 7 位元字元轉換為 0 到 127 的十進位值,也可將這些值轉回字元。當讀者需要標準 ASCII 的精確十進位對應,而不是 Windows 專屬的擴充碼頁時,這是正確的工作流程。ASCII 轉換器支援兩個方向:文字轉程式碼會為每個字元輸出一個以空格分隔的十進位整數,而程式碼轉文字則會根據有效的數值代碼重建字元。選擇方向,貼上文字或程式碼,選取「轉換 ASCII」,檢查結果,完成後即可複製。處理過程都在目前的瀏覽器分頁中進行,因此貼上的內容不會上傳。由於支援範圍止於 127,超出範圍的值和非 ASCII 字元會被拒絕,而不會在未告知的情況下被重新解讀為 Windows-1252 或其他碼頁。解碼後的控制字元可能不可見,因此轉換成功並不保證結果在視覺上完整。它支援標準 7 位元文字和程式碼,包括控制字元、標點符號、數字、拉丁字母及 DEL;不支援 Unicode、表情符號、UTF-8 位元組、舊版碼頁或二進位檔案。這個嚴格的範圍使輸出不含歧義,也能避免在您不知情的情況下套用 Windows 字元集。

ascii code converter on windows
Windows 上的 ASCII 碼轉換器:瀏覽器工作流程

Windows 瀏覽器解決方案可處理的內容

標準 ASCII 是一組有界限的字元集,而不是 Windows 能顯示之所有字元的通稱。IETF RFC 20將 ASCII 定義為值介於 0 到 127 的 7 位元程式碼。ASCII 轉換器會雙向套用這些標準指派,而不會猜測某個數字可能由哪種 Windows 編碼產生。

以瀏覽器為基礎的工作流程適合在 Windows PC 上使用,因為完整的文字序列會在目前的分頁中處理。文字轉程式碼會產生依序排列的十進位清單;程式碼轉文字則會重建已指派的 ASCII 字元。這與查閱靜態 ASCII 對照表來查詢單一值,以及將文字以十六進位或二進位表示為 UTF-8 位元組的轉換器不同。

在 Windows 瀏覽器中執行工作

  1. 在您 PC 的瀏覽器中開啟 ASCII 轉換器。頁面開啟後,轉換會在該瀏覽器分頁中進行。此工作流程不需要另外使用 Windows 文字編輯器或命令列進行轉換。
  2. 選擇轉換方向。選取「文字轉程式碼」,將標準 ASCII 字元序列轉換為十進位整數。若已備有 ASCII 十進位值並需要對應字元,則選取「程式碼轉文字」。
  3. 輸入來源文字或數值。在「文字轉程式碼」模式中,僅輸入標準 7 位元 ASCII 字元。在「程式碼轉文字」模式中,輸入介於 0 到 127 的無符號十進位整數,並以空格、逗號或換行分隔。
  4. 選取「轉換 ASCII」。轉換器會先驗證完整的輸入,再顯示結果。若文字含有標準 ASCII 以外的字元,會在第一個無效字元處停止,並回報其位置。
  5. 仔細檢查輸出。可列印字元應會正常顯示,但解碼後的控制碼可能移動游標、改變版面,或不顯示任何字形。請閱讀任何可見的驗證錯誤,修正不支援的輸入後再試一次。
  6. 複製驗證後的結果。當十進位序列或重建的 ASCII 文字準備好時,請使用複製功能。若結果含有控制字元,請保留十進位輸出,或使用可辨識位元組的編輯器檢查,以免忽略不可見字元。

使用解碼器可驗證的十進位語法

嚴格驗證可避免數字在多種解讀方式下都被接受。「程式碼轉文字」需要純粹的無符號十進位代碼,不接受正負號、小數、十六進位記法,或長度超過允許語法的補零形式。

  • 允許的範圍:每個十進位代碼都必須代表介於 0 到 127 的值。
  • 允許的分隔符號:空格、逗號和換行均可分隔數值。
  • 允許的代碼形式:每個代碼必須包含一到三位無符號十進位數字。
  • 拒絕的形式:正負號、小數、十六進位前綴、空代碼,以及四位或更長的代碼,均不會在未告知的情況下自動修正。
  • 拒絕的值:高於 127 的代碼會產生可見的驗證錯誤,而不會啟用擴充碼頁。

「文字轉程式碼」方向會對字元套用相同的嚴格範圍。當指派值落在 0–127 內時,標點符號、數字、空格、大寫和小寫拉丁字母,以及控制字元都可以編碼。第一個超出該範圍的字元會停止轉換,並依位置指出。帶重音的字母、表情符號和其他 Unicode 字元不會被正規化或轉換為 UTF-8。

在貼上大量內容前,還有一些輸入限制需要注意。一般輸入上限為 100,000 個 UTF-16 程式碼單位,而解碼後的輸入上限為 50,000 個程式碼。即使序列未超過字元上限,仍可能超過另外的解碼程式碼上限。

控制值可能不會顯示字形

即使解碼成功,結果仍可能看似空白、遭到截斷或間距異常,因為 ASCII 會為不可列印的控制字元指派程式碼。0 到 31 和 127 的程式碼皆為控制碼。定位點或換行可能改變版面,即使沒有一般可見的符號;NUL 和 DEL 則通常不會留下可見字形。

十進位值標準 ASCII 指派文字區可能呈現的外觀
0NUL通常沒有可見字形
9TAB移至下一個定位停駐點
10換行建立換行或新行
13歸位可能作用於游標,但沒有明顯可見標記
32空格呈現為空白間距
127DEL通常沒有可見字形

結果文字區只會顯示其介面和作業系統能呈現的內容,因此僅靠視覺檢查無法確認每個控制字元是否存在。將控制字元複製到其他應用程式,也可能觸發該應用程式特有的行為。若可見性必須精確,請保留十進位序列,或使用能顯示位元組和控制字元指派的編輯器檢查重建的值。

以相反方向驗證結果

對於可列印字元,簡潔的往返檢查相當實用。以下範例是本文唯一完整示範的轉換:

公式:依序排列的字元序列會轉變為相對應的標準 ASCII 十進位指派序列。

代入:字母 A 和 Z 的十進位指派分別為 65 和 90。

結果:在「文字轉程式碼」模式中輸入 AZ,會產生 65 90。在「程式碼轉文字」模式中輸入 65 90,會重建 AZ。

這項反向檢查可確認已選擇正確方向,且十進位代碼已解讀為 ASCII;但它無法證明含控制字元的結果在視覺上完整,因此控制碼仍需特別留意其十進位指派。整個轉換與驗證過程始終都在瀏覽器分頁本機進行。

非 ASCII 資料請選擇其他格式

Windows 可以顯示多種編碼中的字元,而非正式用語「擴充 ASCII」並不代表單一可靠的格式。128 到 255 的值,在 Windows-1252、ISO-8859-1 和其他舊版碼頁中可能有不同解讀。ASCII 轉換器刻意不為這些值提供替代處理方式。

處理的資料必要的表示方式ASCII 轉換器的行為
標準 ASCII 文字或十進位程式碼0 到 127 的指派支援直接雙向轉換
Unicode 字母或表情符號明確的 Unicode 或 UTF-8 表示方式拒絕非 ASCII 輸入,而不會將其編碼為 UTF-8
已知使用 Windows-1252 或 ISO-8859-1 的文字指定的舊版碼頁不會重新解讀 128 到 255 的值
二進位檔案以檔案為導向的位元組與編碼工作流程不接受該檔案作為文字轉十進位的輸入

文字轉十六進位和文字轉二進位的轉換器處理的是不同的表示任務,因為它們會以另一種進位表示 UTF-8 位元組。若要處理 Unicode 程式碼點、UTF-8 位元組、舊版 Windows 文字、二進位檔案或特定地區的轉換,請使用明確標示所需編碼的轉換器。依資料實際使用的編碼進行選擇,可避免有效數字意外被指派為不同字元。