Base32 编解码
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 规则补回。
⚠️ 使用说明与注意事项
- 本工具纯前端运行,数据不会上传到服务器
- 建议在主流浏览器(Chrome/Safari/Firefox/Edge)中使用
- 计算结果仅供参考,请以实际应用场景为准
▼
工具简介
Base32 编解码。专为开发者打造的在线工具,纯前端运行,代码不离开浏览器。