要把二進位資料轉成文字,請把 0 與 1 的資料流分成 8 位元組成的位元組,然後依照 ASCII 或 UTF-8 之類的標準,把每個位元組對應到符合的字元。位元組 01001000 對應到字母 H,01100101 對應到 e,01101100 對應到 l,依此類推,所以像 01001000 01100101 01101100 01101100 01101111 這樣的二進位字串就會拼出 "Hello"。實務上最快速的處理方式,是把二進位貼到一個專門的轉換工具,由它幫你做分組、處理 UTF-8,並逐位元組查表,讓你不必離開瀏覽器,就能從一大串數字變成可閱讀的文字。
二進位是每台電腦都會說的語言,多數時候軟體會把這件事藏起來。但當你從記錄檔、API 回應、CTF 題目或作業題目複製到一串奇怪的 0 與 1 時,就需要一個可靠的方法把它翻回人類看得懂的內容。這正是 Binary To Text 工具設計的目的,而本指南會帶你了解它的運作方式、各方向的適用時機,以及如何避免犯下常見的 UTF-8 錯誤。

「二進位資料轉文字」真正的含義
二進位資料就是任何位元組序列,而位元組是由 8 個位元組成,每個位元是 0 或 1。要把它轉回文字,就是把每個 8 位元群組轉成一個介於 0 到 255 之間的數字,再去字元表中查出對應的字元。
英文文字最常用的字元表是 ASCII,涵蓋 0 到 127 的編號。代碼 65 是 A,66 是 B,97 是 a,98 是 b,48 是 0,依此類推。127 以外的字元則由延伸編碼或 Unicode 處理。UTF-8 是現代主流的編碼:ASCII 字元使用 1 個位元組,其他字元則使用 2、3 或 4 個位元組。UTF-8 所實作的 Unicode 標準,為每種語言的每個字元——包括表情符號——指派一個唯一的代碼點。
舉例來說,「Hi」這個字的 UTF-8 位元組序列是:
| 字元 | Unicode 代碼點 | UTF-8 位元組(二進位) |
|---|---|---|
| H | U+0048 | 01001000 |
| i | U+0069 | 01101001 |
這也是該工具會給你的結果。你可以在 Unicode 首頁以及 MDN 開發者文件中的 ASCII 參考資料確認一般的對應關係。
如何把二進位資料轉成文字
- 在瀏覽器中開啟 Binary To Text 工具。
- 使用頂端的切換鈕,切換到「Binary → Text」方向。這個切換鈕是你唯一需要動的開關,不需要先清除預設模式。
- 把二進位貼到輸入框中。空格、換行與定位字元都會被忽略,所以你可以貼成單一長行或格式化的區塊,都能正確解碼。
- 在輸出面板中讀取解碼後的文字,輸出會在你輸入或貼上時即時更新。
- 點選 Copy 來取得結果,或點選 Swap direction,把解碼後的文字直接以二進位形式回傳經過轉換器,方便你驗證整個往返過程。
如果你要走相反的方向,把切換鈕切到 Text → Binary,貼上或輸入你的內容,工具就會在輸入框下方顯示以空格分隔的 8 位元位元組。因為工具使用完整的 UTF-8,所以字母、數字、腔調符號、表情符號和 CJK 字元都能正確解碼。
這種轉換常見的出現情境
開發者遇到二進位字串的頻率往往比預期更高。以下是幾個反覆出現的情況:
- 讀取低階程式碼或嵌入式韌體的除錯輸出,其中感測器數值會以原始位元組的形式傾印出來。
- 解初階的密碼學謎題與 CTF 挑戰,其中提示會以二進位字串形式給出,需要解碼後才能閱讀。
- 研讀計算機科學、網路或數位電子學時,作業會要求你展示某個字串在二進位中的樣貌。
- 檢查以非文字格式儲存或傳輸的文字,例如 HTTP 請求的內容或舊式的檔案格式。
這些情境最後都會走到同一個步驟:把 0 與 1 變回你真的讀得懂的字元。
UTF-8 vs ASCII:為什麼輸出可能看起來不對
如果你貼上的二進位代表帶腔調字元、表情符號或非拉丁字母,卻看到像 é 或 😊 這種亂碼,那就是轉換過程沒有正確處理 UTF-8 的位元組邊界。UTF-8 使用的接續位元組(二進位模式以 10 開頭)必須和引入該序列的前導位元組放在一起,才有意義。
| 字元 | UTF-8 位元組數 | 備註 |
|---|---|---|
| A、b、7、! | 1 位元組 | ASCII 範圍,代碼點 0-127 |
| é、ñ、ü | 2 位元組 | Latin-1 補充範圍 |
| €、中、あ | 3 位元組 | 大多數 CJK 與延伸符號 |
| 😀、🎉、𝕊 | 4 位元組 | 輔助平面,包括表情符號 |
正因如此,有兩條規則可以省下大量除錯時間。第一,絕對不要把 UTF-8 序列從中間切開。如果你在多位元組字元中間多加了一個空格,後面的位元組就會解碼成亂碼。第二,絕對不要刪除 8 位元位元組的前導零;那個前導零是用來標示單一位元組 ASCII 字元的,一旦拿掉,輸入的其餘部分就會變得毫無意義。
Binary To Text 工具會自動處理這些情況。它會把位元分成 8 位元位元組,驗證 UTF-8 的邊界,並對格式錯誤的輸入加以拒絕或標記,而不是默默產出錯誤的結果。想深入了解背後的運作機制,請參考 How Does Binary to Text Work: A Plain-English Guide 以及 Understanding Binary to Text Conversion in Simple Steps。
二進位 vs Base64:何時該用哪一個
二進位是文字以每字元 8 位元的原始表示方式。Base64 則是一種獨立的編碼,它會把二進位(或任何位元組串流)只用 64 個可列印的 ASCII 字元來表示,讓你可以安全地貼到 JSON、XML、電子郵件標頭或網址中,而不會遇到跳脫字元問題。它們出現在不同的場景:
- 當你在研究文字如何儲存、除錯低階格式,或解題目(資料已經是 0 與 1)時,請使用二進位。
- 當你需要把二進位資料嵌入純文字通道時,請使用 Base64。Base64 大約比原始資料大 33%,這是能貼到任何地方的代價。
如果你的承載內容看起來像隨機的字母、數字、加號和斜線,那幾乎可以確定是 Base64 而非原始二進位,你應該改用 Base64 Encode / Decode 工具。我們的 Base64 Decode 指南詳細說明了這種情況。
乾淨轉換的實用技巧
養成幾個習慣就能讓你的結果保持正確:
- 永遠把二進位分成 8 位元的群組。工具會幫你做這件事;用眼睛做很容易出錯。
- 保留前導零。01000001 是「A」;1000001 只是個較小的數字,解碼器會讀錯。
- 在聊天或文件中分享二進位時,位元組之間請加一個空格。這樣無論人眼或解析器都更容易讀取。
- 如果解碼後的輸出包含問號或替代字元,輸入很可能不是有效的 UTF-8。請檢查是否有位元組被刪除或重排。
你也可以把這個轉換器和同系列的其他工具搭配使用。URL Decoder 處理百分號編碼的文字,Caesar Cipher Decoder 處理經典的替換式謎題,Morse Code Translator 則處理點與劃。它們各自解決不同類型的「螢幕上出現奇怪字串」問題,而且全都採用相同的本機、瀏覽器內設計。
簡短的實作範例
假設你有二進位字串 01001000 01100101 01101100 01101100 01101111。把它切成 8 位元位元組:
- 01001000 → 72 → H
- 01100101 → 101 → e
- 01101100 → 108 → l
- 01101100 → 108 → l
- 01101111 → 111 → o
依序讀取這些字元就會得到 "Hello"。把同一段二進位貼到 Binary To Text 工具,結果面板就會顯示相同的輸出,完全不需要手動計算。
為什麼在本機執行很重要
因為這個轉換器完全在瀏覽器中執行,你貼上的二進位字串從來不會送到伺服器。這件事很重要,原因有二。第一,它比較快;你一邊輸入,結果就一邊更新,不需要網路往返。第二,它能保護輸入的隱私。如果你要解碼的是敏感資料,例如權杖、雜湊值、內部主機名稱或個人識別資訊,你可以放心貼上去,不用擔心被第三方服務記錄下來。
不管你是正在寫作業的學生、從記錄檔讀取原始位元組的開發人員,還是想了解 UTF-8 實際運作方式的學習者,整個流程都一樣:選對方向、貼上、讀取結果、複製。剩下的就是把位元組維持在每八個一組。
如果你正在比較各種選項,How to Translate Morse Code: Text and Audio Online 對此有詳細說明。