> 編碼 | 解碼 | hex <

// Base16(十六進制)編碼用於簡單二進制資料表示

[簡單]

簡單易用

最簡單的二進制編碼形式,每個位元組用兩個十六進制字元表示。

[安全]

本機處理

所有轉換都在您的瀏覽器中進行。您的資料永遠不會離開您的裝置。

[標準]

通用標準

使用標準十六進制格式,與所有程式語言和系統相容。

>> 技術資訊

Base16工作原理:

Base16使用16個字元(0-9和A-F)編碼二進制資料。每個位元組(8位)被表示為兩個十六進制數字(4位+4位)。

範例:

"你好" → E4BDA0E5A5BD

為什麼使用Base16:

  • >最簡單的二進制編碼形式
  • >除錯和開發中常用
  • >顏色代碼和記憶體位址表示
  • >所有字元都可列印
  • >易於人類閱讀和驗證

>> 常見問題

什麼是Base16編碼?

Base16,也稱為十六進制編碼,是一種使用16個字元(0-9,A-F)來表示二進制資料的編碼方案。每個位元組用兩個十六進制字元表示。

Base16和十六進制有什麼區別?

Base16和十六進制是同一概念的不同名稱。Base16是正式的編碼名稱,而十六進制是更常用的術語。

何時使用Base16編碼?

Base16常用於除錯、日誌記錄、顏色代碼、記憶體位址表示以及需要人類可讀的二進制資料表示的場合。

Base16安全嗎?

Base16不是加密方法,而是編碼方案。它不提供任何安全性,任何人都可以輕鬆解碼Base16資料。

// Base16 對比

編碼每字元位元數體積增加
Base164100%
Base32560%
Base64633%

// 程式碼中的 Base16

Linux/macOS  echo -n Hello | xxd -p          # 48656c6c6f
             echo 48656c6c6f | xxd -r -p      # Hello
Python       'Hello'.encode().hex()           # '48656c6c6f'
             bytes.fromhex('48656c6c6f')
Node.js      Buffer.from('Hello').toString('hex')
             Buffer.from('48656c6c6f', 'hex').toString()

>> 更多問題

問:為什麼 Base16 會讓資料大小加倍?

答:每個位元組變成兩個字元,額外負擔為 100%。Base64 只增加約 33%,但 Base16 更易閱讀與除錯。

問:Base16 與帶 0x 或空格的十六進位字串有何差異?

答:RFC 4648 的 Base16 是純粹的 0–9、A–F 數字序列,沒有前綴與分隔符。0x 前綴或位元組間的空格只是顯示慣例,解碼前應先移除。

問:為什麼合法的 Base16 字串長度必須為偶數?

答:每個位元組恰好兩位數字。長度為奇數代表缺了字元或省略了前導零(例如寫成 F 而不是 0F)。