Base32 編解碼

🔤 Base32 Encode/Decode

Encode and decode data with Base32 (RFC 4648) in your browser — useful for case-insensitive keys and legacy systems.

📐 工作原理與說明
按 RFC 4648 把位元組流每 5 位一組對映為可列印字元,適合大小寫不敏感的場景。
  • 分組:每 5 位元組(40 位)切為 8 個 5 位組,每組對映字母表 A–Z 與 2–7。
  • 填充:不足 5 位元組時低位補 0,輸出用 = 補齊到 8 的倍數。
  • 優勢:字母全大寫、剔除易混字元,適合 DNS 記錄、OTP 金鑰等不區分大小寫的載體。
  • 變體:z-base-32、Crockford Base32 的字母表與填充規則與標準不同,不可混用。

📖 演算法說明

Base32 將位元組序列按 5 位一組對映到 A-Z2-7 共 32 個字元,末尾用 = 填充至 8 字元倍數。

每 5 位元組 → 8 字元;適用於 DNS、不區分大小寫場景。

📚 深度解析:Base32 編碼 / 解碼

💡 常見使用場景

  • 在只允許大寫字母和數字的場合(如一次性口令、分享碼)用 Base32 避免大小寫混淆。
  • Google Authenticator 等 TOTP 金鑰通常以 Base32 儲存,便於人工抄寫。
編碼 "Hello"
輸入 `Hello` → 輸出 `JBSWY3DP`(不含填充時為 8 字元;Base32 僅用 A–Z 與 2–7)。

❓ 常見問題(FAQ)

Base32 與 Base64 有何區別?
Base32 字元集僅 32 個且無小寫,抗誤讀更強但體積更大(約 8/5 倍)。
為什麼 Base32 末尾有等號填充?
Base32 每 5 位元組(40 位)切成 8 個 5 位組;原文長度不是 5 的倍數時,末組不足 5 位,需補 0 並用 = 填充到 8 個字元(可能補 1、3、4 或 6 個等號)。去掉填充不影響解碼,但需按 RFC 4648 規則補回。
⚠️ 使用說明與注意事項
📖關於「Base32 編解碼」 ▼

📝工具簡介

Base32 編解碼。專為開發者打造的線上工具,純前端執行,程式碼不離開瀏覽器。