跳到主要內容

進位轉換器

二進位、八進位、十進位、十六進位即時互轉,還能把文字轉成二進位 / Hex。

進位轉換(改任一欄,其他即時同步)

文字 ⇄ 二進位 / Hex

什麼是進位轉換?

電腦底層用二進位,程式設計常用十六進位(顏色、記憶體位址、Unicode 碼點),人類則習慣十進位。這個進位轉換器把二進位、八進位、十進位、十六進位即時互轉——改任一欄,其他三欄自動更新;還能把文字轉成二進位 / Hex或還原。全程在你的瀏覽器本機完成。

如何使用

  1. 在「進位轉換」區任一欄輸入數字,其他進位會即時同步。
  2. 要處理文字,到「文字 ⇄ 二進位 / Hex」區貼上文字,即可得到二進位與 Hex;反向貼上二進位或 Hex 也能還原成文字。
  3. 一鍵複製任何結果。

常見用途

  • 把 log 或記憶體傾印裡的十六進位換成十進位。
  • 看懂位元遮罩、旗標與權限值。
  • 把字串轉成位元組序列除錯。需要 Base64 請用 Base64 工具、要色碼轉換用 色彩轉換

二進位轉文字為什麼出現亂碼?

這裡有兩個不同的區塊,別搞混:上面的「進位轉換」是把一個「數字」在不同進位間換算(例如把 255 看成 ff);下面的「文字 ⇄ 二進位」則是把「文字」依 UTF-8 拆成位元組。若你把一段當「數字」用的二進位丟進文字欄位,常會解出亂碼——因為它的位元不見得是合法的 UTF-8 位元組序列。文字還原的規則是:位元數要湊成 8 的倍數(每 8 位元一個位元組),且組成有效的 UTF-8。另外提醒,中文一個字通常是 3 個位元組(24 位元),不是 1 個,emoji 更多,所以「文字轉二進位」出來會比你想的長。

常見問題

可以轉很大的數字嗎?

可以。本工具用 JavaScript 的 BigInt 運算,支援任意大的整數,不會像一般 parseInt 在超過安全整數範圍後失真。

「文字轉二進位」是怎麼算的?

先把文字以 UTF-8 編碼成位元組,再把每個位元組寫成 8 位元的二進位(或兩位 Hex)。中文、emoji 也能正確處理;還原時再依 UTF-8 解回文字。

支援 0x、0b 前綴嗎?

支援。十六進位可加不加 0x、二進位可加不加 0b,工具會自動忽略前綴。輸入非該進位的字元(如十六進位打了 g)會標成錯誤而不影響其他欄位。

支援負數或小數嗎?

目前針對非負整數設計(最常見的進位轉換情境)。負數的二補數表示、浮點數的位元表示屬於進階主題,不在此工具範圍。

延伸閱讀

二進位、十進位、十六進位是什麼?進位互轉完整解說 →

嵌入此工具

把這個工具免費放進你的網站或部落格 —— 複製下面的程式碼貼上即可(內含一條回到本站的連結)。