什麼是 Hex 轉 ASCII 轉換器?
Hex 轉 ASCII 轉換器能把十六進位數值還原成它們所代表的可閱讀文字字元。電腦會把每一個字元儲存成一組數字,而十六進位(16 進位制)正是一種精簡表示這些位元組數值的方式。這個工具會讀取你輸入的十六進位內容,將其切分成一對對的數字,把每一組轉換成對應的數值,再對應到一個字元——最後還原出原本的文字。
使用方式
把你的十六進位字串貼上或直接輸入到欄位中。你可以用空格、逗號分隔各個位元組,或寫成一整串連續字串——工具也會自動忽略 0x 前綴。按下計算,解碼後的文字會立即出現,同時顯示總共解碼了多少個位元組。
公式說明
十六進位是 16 進位制,因此兩個十六進位數字可表示一個數值介於 0 到 255 之間的位元組。對每一組 p,我們先用 int(p, 16) 取得對應的十進位代碼,再用 chr(code) 得到字元。
$$\text{ASCII} = \bigsqcup_{k=0}^{n-1} \text{char}\Big(\,\text{hex}_{16}\big(\,\text{Hex Input}[2k\,..\,2k{+}1]\big)\Big)$$
舉例來說,48 這組等於 \(4\times 16 + 8 = 72\),而第 72 號字元正是大寫字母 H。
實際範例
以十六進位字串 48 65 6C 6C 6F 為例,逐組轉換:48→72→「H」、65→101→「e」、6C→108→「l」、6C→108→「l」、6F→111→「o」。把它們連接起來,就得到 Hello。
常見問題
位元組之間一定要加空格嗎?不需要。空格、逗號與 0x 前綴都是可有可無的,解碼前都會自動移除。
如果我輸入了奇數個數字會怎樣?最後落單、無法成對的那個數字會被忽略,因為一個有效的位元組需要兩個十六進位數字。
要用大寫還是小寫?兩者皆可——6c 和 6C 的解碼結果完全相同。