二進位轉文字的轉換會將一串由 0 與 1 組成的字串,轉回原本產生它的可讀字元、單字與表情符號,每八個位數會分為一組成為一個位元組,並依據像 ASCII 或 UTF-8 這類字元編碼,對應到單一字母、數字或符號。反向的路徑,也就是文字轉二進位,則是將每個字元編碼為其數值代碼點,再以二進位寫出該數字,使用剛好八個位置,需要時以前置零補齊。像是 A 與 z 這類純英文字母,總是能容納在一個位元組中。基本 ASCII 之外的字元,像是 é 這類含腔調的字、你好這類其他文字,或一個表情符號 ,在 UTF-8 下會佔用二、三或四個位元組,但規則不變:八個位元進、一個位元組出,最後對應到一個 Unicode 字元。解碼時,每八個位元數字會成為一個位元組,每個位元組會成為一個數字,每個數字則會依序對應回原本的字元,全程不會遺失任何資訊。

二進位轉文字真正的意義
二進位是最簡單的數字系統。它只使用兩個符號,0 與 1,每往左移一個位置,數值就加倍,這與十進位的個位、十位、百位運作方式相同。一個位元組就是一個 8 位數的二進位數字,而由於每個位置只能是 0 或 1,一個位元組能表示 00000000(零)到 11111111(二百五十五)之間的任何數值。這個範圍涵蓋 256 個不同的數字,剛好足夠為日常英文中使用的每個字母、數字、標點符號及控制字元各指派一個數字。
因此,「二進位轉文字」的意思是:取一長串由 0 與 1 組成的字串,將它切成長度為 8 位元的區塊,在字元表中查找每個區塊,再依序寫下對應的字元。「文字轉二進位」則是同一個流程反向執行——挑一個字元,找出它的數字,再把那個數字寫成 8 個二進位數字。
位元、位元組,以及為什麼以八個為一組
單一二進位數字稱為位元(bit)。單獨的位元適合用於是非題,但它本身能儲存的資訊有限,因為 0 與 1 只給你兩種選項。兩個一組就能得到四個值:00、01、10、11。三個一組就能得到八個。四個一組則能得到十六個。這個模式會持續倍增:n 個位元可以表示 2ⁿ 個不同的值。
到了 8 個位元,就能得到 256 個不同的值,這正好是一個位元組的大小。這個大小被廣泛使用,是因為 256 在「勉強足夠容納英文加上符號」與「對大多數文字來說過於龐大」之間劃出了一條乾淨的界線。當現代系統需要在同一串字元中使用超過 256 個符號時,它們的做法不是把位元組本身加寬,而是讓每個字元使用一個以上的位元組。這種取捨正是 UTF-8 所做的事。
從數字到字母:編碼如何運作
編碼是一份契約,規定「這個數字代表這個字元」。最有名的就是 ASCII,這是數十年前制定的一張表格,它將可列印的英文字母、數字與常用標點符號指派給 32 到 126 之間的數字。大寫 A 是 65,大寫 Z 是 90,小寫 a 是 97,數字 0 是 48,空白字元是 32。由於 ASCII 使用 0 到 127 的數值,每個 ASCII 字元都能放入一個位元組內,且至少還會剩下一個前置零。
舉例來說,大寫字母 H 在十進位中是 72,等於 64 加上 8,因此其二進位形式為 01001000。小寫 i 是 105,等於 64 加上 32 加上 8 加上 1,得到 01101001。因此「Hi」這個字會編碼為兩個位元組:01001000 01101001。將字串每隔 8 個位元切開,就能還原出同樣的兩個數字,再到 ASCII 表中查找,就能還原出字母 H 與 i。
ASCII 與 UTF-8:兩種編碼系統
ASCII 足以處理不帶腔調的英文,但無法表示 é、ñ、你 或 ☕。世界需要一張更大的表,而勝出的解決方案是 UTF-8,這是一種可變寬度的編碼,每個字元使用一到四個位元組。純 ASCII 字元仍只使用一個位元組,且數值與過去完全相同,因此任何 ASCII 檔案也都是有效的 UTF-8 檔案。ASCII 之外的字元則透過一組巧妙的前置位元模式,讓解碼器能判斷每個字元的起始與結束位置。
| 特性 | ASCII | UTF-8 |
|---|---|---|
| 每個字元的位元數 | 7(以 8 位元儲存) | 8、16、24 或 32 |
| 可表示的字元總數 | 128 | 1,112,064(完整 Unicode) |
| 支援腔調字、非拉丁文字、表情符號 | 否 | 是 |
| 能完整無損地往返處理英文「Hello」 | 是 | 是 |
若想更深入了解位元組寬度與前置位元模式的運作方式,請參考二進位轉文字轉換的 UTF-8 指南。簡而言之,UTF-8 讓單一轉換工具就能處理全球所有文字與表情符號,同時又不須捨棄 8 位元位元組模型。
如何在兩個方向上轉換文字與二進位
二進位轉文字轉換器會代你套用上述規則,並提供切換鈕讓你選擇方向。要開始使用:
- 使用切換鈕選擇方向:選擇文字 → 二進位進行編碼,或選擇二進位 → 文字進行解碼。
- 在文字 → 二進位模式下,輸入或貼上任何文字——字母、數字、標點符號、腔調字或表情符號。工具會將其編碼為 UTF-8 位元組,並將每個位元組以八個二進位數字顯示,位元組之間以空格分隔以方便閱讀。
- 在二進位 → 文字模式下,貼上你的 0 與 1。各群組之間的空格、Tab 與換行會自動被去除,剩下的數字會被分組成八個一組,解碼後的文字會顯示在下方。
- 使用複製按鈕取得結果,或使用切換方向將輸出直接作為下一輪輸入,方便你驗證完整往返轉換。
由於轉換器嚴格以位元組為單位,你貼上用於解碼的位元數必須是八的倍數。若不是,工具會明確提示你,而不會產生亂碼輸出。
二進位轉文字轉換在現實生活中的應用
這項轉換在教育與動手玩樂的場景中最為常見。資訊系學生使用二進位轉換器,實際看到字母如何對應到數字、數字如何對應到位元,讓抽象的概念變得具體。老師將它帶進課堂,示範為什麼 A 是 01000001 而非別的數值。開發者則在除錯編碼問題、檢查檔案的原始位元組,或手工打造搶旗賽題目時會用上它。業餘玩家用它來傳送秘密訊息、設計 geek 風格的生日卡片,或印在 T 恤上的標語——看著一句話溶化為 0 與 1,又重新組合回來,確實有一種真切的樂趣。
除了純粹的好奇之外,同樣的邏輯也會出現在校驗和運算、網路封包檢查,以及任何系統以原始位元組儲存或傳輸文字的地方。一旦你理解「一個字元、一個或多個位元組、每個位元組八個位元、ASCII 是 UTF-8 的嚴格子集」這條規則,剩下的就只是計數與查表而已。
瀏覽器型轉換器內部如何運作
像本工具這樣的瀏覽器型轉換器是以純 JavaScript 編寫,這代表編碼工作是在你的裝置上完成的。文字轉二進位時,腳本會透過內建的瀏覽器 API 將你的輸入編碼為 UTF-8 位元組,接著逐個處理位元組值,將每個值寫成八個位元,必要時以前置零補齊,並以空格連接起來。二進位轉文字時,腳本會去除空白、將數字字串切成 8 字元一組的區塊、將每組解析為二進位數字、建立位元組陣列,再透過 UTF-8 解碼器反向處理該陣列。
由於一切都在本地端進行,你的文字與二進位資料從未離開瀏覽器分頁。不會上傳、記錄或快取到伺服器,即便你離線,工具仍能持續運作。這也是為何轉換感覺瞬間完成:沒有網路往返,只有對記憶體中位元組進行算術運算。
若你正在比較各種方案,在 Excel 中將十六進位轉文字:為何 HEX2DEC 力有未逮對此有詳細說明。