二進位轉 ASCII 轉換器
解碼機器語言:將冰冷的 0101 代碼還原為可閱讀的文字
為什麼需要將二進位轉回 ASCII?
在數位世界中,所有的檔案——無論是這網頁上的文字、您硬碟裡的照片,還是傳給朋友的訊息——在電腦眼中,統統都只是一長串的 0 和 1。
當我們遇到一串不明所以的二進位代碼(例如在駭客任務電影裡,或是在程式當機的錯誤報告中),我們需要一個「翻譯官」把它變回人類語言。這款 二進位轉 ASCII 轉換器 就是這個翻譯官,它能逆向執行電腦的編碼過程,將機器語言還原成我們熟悉的 ABC 與標點符號。
核心原理:電腦是如何「讀」懂代碼的?
要將 01000001 變回 "A",電腦會執行以下逆向工程:
1. 分組 (Grouping)
電腦通常以 8 位元 (8 bits) 為一個單位(即 1 Byte)。
-
原始碼:
0100000101000010 -
切割後:
01000001|01000010
2. 計算數值 (Binary to Decimal)
將每組二進位換算成十進位數字。
-
01000001= $64 + 1$ = 65 -
01000010= $64 + 2$ = 66
3. 查表還原 (Lookup ASCII)
根據 ASCII 標準表,找出數字對應的字元。
-
65 對應 "A"
-
66 對應 "B"
-
結果:AB
常見的應用場景
1. CTF 奪旗競賽 (Capture The Flag)
在資安競賽或 ARG (擴增實境遊戲) 中,主辦方常會把過關密碼隱藏在二進位字串中。
-
謎題:
01001011 01000101 01011001 -
解碼: KEY (拿到鑰匙了!)
2. 資料救援與分析
當硬碟損毀或檔案標頭 (Header) 遺失時,工程師有時需要直接查看磁區上的 Raw Data。透過將這些 0 與 1 轉回 ASCII,工程師可以判斷這段資料原本是檔名、日期還是檔案內容。
3. 理解編碼錯誤 (亂碼)
有時候網頁會出現像  這樣的怪字,這通常是編碼設定錯誤(如 BOM)。透過觀察其二進位形式,可以幫助開發者找出是哪一種編碼出了問題。
如何手動計算? (逆向操作)
想挑戰不用電腦解碼?只要記住 128, 64, 32, 16, 8, 4, 2, 1 這個口訣。
題目: 解碼 01001000
-
對應權重:
-
0 (128)
-
1 (64) -> 有!
-
0 (32)
-
0 (16)
-
1 (8) -> 有!
-
0 (4)
-
0 (2)
-
0 (1)
-
-
相加: $64 + 8$ = 72。
-
查表: ASCII 碼 72 是什麼?答案是 "H"。
常見問題 (People Also Ask)
Q1:可以輸入中文的二進位碼嗎?
視編碼格式而定。
-
標準 ASCII 只支援 128 個字元(英文、數字、符號),不包含中文。
-
但現代瀏覽器與本工具通常支援 UTF-8 擴充。如果您輸入的是 UTF-8 格式的二進位碼(通常一個中文字會有 24 個 0/1),工具也能正確還原成中文。
Q2:為什麼解碼出來是一堆亂碼?
這通常是因為 「位元偏移 (Bit Shift)」 或 「分隔錯誤」。
-
如果您少抄了一個 0,後面的所有位元都會往前遞補,導致分組全部錯誤,解出來就會是毫無意義的亂碼。建議確認輸入的長度是否為 8 的倍數。
Q3:Binary 轉 Hex 跟轉 ASCII 有什麼不一樣?
這兩個很容易搞混:
-
轉 Hex (十六進位): 只是把數字換個寫法(
01000001->41)。電腦還是把它當數字看。 -
轉 ASCII (文字): 是把數字賦予意義(
01000001->"A")。變成人類看的文字。
Q4:輸入的二進位碼中間一定要有空白嗎?
不一定。
-
聰明的轉換器通常能自動每 8 位切一刀。
-
但為了閱讀方便,且避免輸入錯誤,建議在每組 Byte 中間保留空格(例如
01000001 01000010)。