Base32 編碼解碼
在線完成 Base32 編碼、解碼與檔案轉換,支援 4 種變體、padding 處理、Hex 檢視與本地下載,適合 TOTP 金鑰、可讀 ID 與二進位除錯情境。
相關推薦
什麼是 Base32?
Base32 是把二進位資料映射為 32 個可列印字元的編碼方案。標準版來自 RFC 4648,預設字元表是 A-Z 與 2-7,每 5 bit 資料對應 1 個輸出字元,因此結果通常比原始位元組大約多 60%。
Base32 的優勢不是最精簡,而是更適合不分大小寫、人工抄錄,或需要避免 + / 等特殊字元的情境。TOTP 金鑰、某些 DNS / 設定值、人工校驗碼與可讀 ID 都常見 Base32。
不同變體會改變字元表與容錯規則。本頁同時支援 RFC 4648 標準 Base32、Base32hex、Crockford Base32 與 z-base-32,並提供嚴格校驗、padding 開關、換行輸出、文字 / 檔案互轉與十六進位檢視,方便你在不同協定與工具鏈中直接驗證結果。
適用場景
- 檢查 TOTP / OTP 金鑰是否為標準 Base32,或需要改寫成 Crockford、z-base-32 等更易讀形式時使用。
- 把二進位設定、憑證片段、離線啟用碼或資源指紋轉為不含特殊符號的可讀字串時使用。
- 排查第三方系統回傳的 Base32 字串是否缺少 padding、混用了錯誤變體,或需要嚴格驗證長度時使用。
- 收到一段 Base32 內容但不確定是文字還是檔案時,可先解碼查看 UTF-8 / Hex,再決定是否下載原始二進位。
使用方法
- 先選擇要處理的變體:如果對方文件明確寫 RFC 4648、Base32hex、Crockford 或 z-base-32,就按照同一種變體操作。
- 編碼時選擇「文字」或「檔案」輸入,再按需求決定是否輸出 padding、是否轉小寫,以及是否按 64 / 76 字元換行。
- 解碼時貼上 Base32 字串;如果需要更嚴謹的結果,開啟嚴格校驗來檢查長度與 padding 是否符合規則。
- 查看輸出結果:文字內容可直接複製,非文字內容可切到 Hex,或下載還原後的檔案繼續排查。
功能特點
- 4 種 Base32 變體同頁切換:RFC 4648、Base32hex、Crockford、z-base-32。
- 文字與檔案雙模式:可把 UTF-8 文字編碼為 Base32,也可把任意檔案轉成 Base32 字串。
- 解碼結果可直接查看 UTF-8 文字、Hex,或下載還原後的二進位檔案。
- 支援 padding、大小寫與換行控制:可依 RFC 風格每行 64 / 76 字元輸出,也能自訂寬度。
- 嚴格校驗與本地處理並存:需要時可檢查長度與 padding,所有編解碼過程都在瀏覽器內完成。
該用 Base32、Base64 還是 Base58?
這幾種編碼都能把二進位轉成可列印字元,但適合的任務不一樣。先看你更在意相容性、字元安全還是輸出長度。
| 格式 | 更適合 | 取捨 |
|---|---|---|
| Base32 | TOTP 金鑰、可讀 ID、不分大小寫的環境 | 字元集更安全、較適合人工抄錄,但輸出比 Base64 更長。 |
| Base64 | 通用文字 / 檔案傳輸、Data URL、API 載荷 | 結果更緊湊,但可能出現 + / = 等特殊字元;URL 或檔名情境常要換成 URL-safe 變體。Base64 編碼Base64 URL Safe |
| Base58 | 人工抄寫地址、QR 字串、區塊鏈地址 | 不含 0/O/I/l,更適合防混淆,但不是 RFC 4648 體系,不能取代 TOTP / 標準協定中的 Base32。Base58 編碼解碼 |
最佳实践
先確認對方要求的是哪一種變體
Base32 問題最常見的坑不是演算法,而是標準不一致。對方若要求 Base32hex、Crockford 或 z-base-32,必須按對應字元表處理,否則結果看似合理,實際卻無法被對方系統接受。
除錯失敗時先切到 Hex 再判斷是不是文字問題
Base32 解碼後的原始位元組不一定是 UTF-8 文字。先看 Hex,能更快分辨它到底是憑證、圖片頭、壓縮包、隨機金鑰還是純文字。
需要人工輸入的字串優先考慮 Crockford 或 z-base-32
如果重點是降低人工輸入錯誤,而不是嚴格對接 RFC 4648,Crockford 與 z-base-32 會比標準 Base32 更友善,能減少 O/0、I/1 這類誤讀。
常見問題
Base32 和 Base64 該怎麼選?
想要更短、更常見的傳輸格式時,優先用 Base64;想降低特殊字元、相容不分大小寫的環境,或處理 TOTP 金鑰、人工抄錄字串時,更適合 Base32。Base32 結果會更長,但字元集更克制。
RFC 4648、Base32hex、Crockford、z-base-32 有什麼差別?
核心差異在字元表與容錯策略。RFC 4648 是通用標準;Base32hex 以數字排序為主;Crockford 適合人工輸入,會容忍 O/0、I/1、L/1;z-base-32 預設小寫,常用於更重視可讀性的短字串。編碼與解碼必須使用同一變體。
為什麼有些 Base32 字串會帶 =,有些沒有?
RFC 4648 與 Base32hex 常使用 = padding 來補齊長度;Crockford 與 z-base-32 通常不帶 padding。本頁編碼時可控制是否輸出 =,解碼時也能在寬鬆模式下處理缺少 padding 的字串。
解碼後出現亂碼怎麼辦?
這通常不是 Base32 演算法錯誤,而是原始內容不是 UTF-8 文字,例如圖片、憑證、壓縮包或任意二進位資料。此時請切換到 Hex 檢視,或直接下載還原後的檔案。
支援檔案 Base32 編碼與檔案還原嗎?
支援。編碼模式下可上傳任意檔案並生成 Base32;解碼模式下可把 Base32 還原為二進位並下載。對憑證、設定包、圖片與金鑰材料都很實用。
上傳的文字或檔案會送到伺服器嗎?
不會。當前頁面的 Base32 編解碼、Hex 檢視與檔案下載都在瀏覽器本地完成,內容不會上傳到遠端伺服器。
故障排查
明明可以解碼,為什麼和第三方結果對不上?
先檢查是否選錯了變體。標準 Base32、Base32hex、Crockford 與 z-base-32 的字元表不同,就算只差幾個字元,整體結果也會完全不一樣。
開啟嚴格校驗後報長度錯誤怎麼辦?
通常代表輸入缺少 padding、混入錯誤字元,或根本不是該變體生成的 Base32。可以先關閉嚴格模式確認大致內容,再回頭修正來源字串。
為什麼解碼後得到空白或亂碼文字?
原始資料可能不是 UTF-8 文字,而是二進位檔案或隨機位元組。請切換到 Hex 模式,或直接下載解碼後的二進位檔案繼續分析。
術語表
- RFC 4648 Base32
- 最常見的標準 Base32 變體,字元表為 A-Z 與 2-7,可帶 = padding。
- Base32hex
- RFC 4648 定義的十六進位排序變體,字元表為 0-9 與 A-V,便於依數值順序比較。
- Crockford Base32
- 強調人工可讀性與容錯的變體,去掉 I、L、O、U,並把 O/0、I/1、L/1 視為等價。
- z-base-32
- 偏向人工輸入與短字串傳輸的變體,預設小寫,通常不使用 = padding。
- padding
- 標準 Base32 末尾用來補齊長度的 = 字元。RFC 4648 與 Base32hex 常見,Crockford 與 z-base-32 一般不用。
4 種 Base32 變體速查
如果你不確定該選哪個變體,先看字元表與典型用途。
| 變體 | 字元表 | 是否常用 = | 典型情境 |
|---|---|---|---|
RFC 4648 | A-Z + 2-7 | 常用 | TOTP / 標準 Base32 相容 |
Base32hex | 0-9 + A-V | 常用 | 依數值順序比較或特定協定欄位 |
Crockford | 0-9 + A-Z(去 I/L/O/U) | 通常不用 | 人工輸入、短碼、容錯校驗 |
z-base-32 | ybndrfg8ejkmcpqxot1uwisza345h769 | 通常不用 | 更重視可讀性的短字串 |
標準 Base32 長度與 padding 關係
RFC 4648 / Base32hex 編碼時,末尾 = 的數量取決於原始位元組長度。
| 原始位元組數 | 有效 Base32 字元 | 需要補的 = |
|---|---|---|
| 1 | 2 | 6 |
| 2 | 4 | 4 |
| 3 | 5 | 3 |
| 4 | 7 | 1 |
| 5 | 8 | 0 |
Authoritative References
- IETFRFC 4648 - The Base16, Base32, and Base64 Data Encodings
- crockford.comDouglas Crockford - Base32 Encoding
- philzimmermann.comPhil Zimmermann - z-base-32
- WikipediaWikipedia - Base32
- 安全字串比較
- 二進位轉換
- 凱薩密碼
- 摩斯密碼
- 十六進位轉換
- 影片轉 Base64
- Base64 轉影片
- 圖片轉 Base64
- Base64 轉圖片
- 文字轉 Base64
- Base64 轉文字
- 檔案雜湊校驗
- 檔案轉 Base64
- Base64 轉檔案
- 音訊轉Base64
- Base64轉音訊
- AES 加密解密
- DES 加密解密
- Base32 編碼解碼
- Base58 編碼解碼
- Base64 編碼
- Base64 解碼
- Base64 比較
- Base64 拆分
- Base64 多行合併
- Base64 格式化
- Base64 格式檢查
- Base64 批次編碼
- Base64 批次解碼
- Base64 清理
- Base64 填充處理
- Base64 長度統計
- Base64 轉十六進位
- Base64 DataURL 轉換
- Base64-Hex 互轉
- Base85 編解碼器
- HMAC 生成與驗證
- PBKDF2 金鑰派生
- MD5 雜湊
- SHA-256 雜湊
- SHA1 雜湊
- SHA512 雜湊
- JWT 工具
- HTML 實體編碼解碼
- Unicode 跳脫
- URL 編碼
- URL Safe Base64
- MIME Base64
- Java 混淆
- JS 混淆
- PHP 混淆
- Python 混淆