> 編碼 | 解碼 | 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 對比
| 編碼 | 每字元位元數 | 體積增加 |
|---|---|---|
| Base16 | 4 | 100% |
| Base32 | 5 | 60% |
| Base64 | 6 | 33% |
// 程式碼中的 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)。