Base32 编码/解码

遵循 RFC 4648 标准的 Base32 在线工具,纯浏览器端运行

Base32 编码/解码 编码模式
将文本转换为 Base32
关于 Base32

什么是 Base32?

Base32 是一种用 32 个可打印字符表示二进制数据的编码方式,由 RFC 4648 标准定义。它将每 5 位数据映射为一个字符(2^5 = 32),使用字母 A-Z 和数字 2-7 作为字母表。与 Base64 相比,Base32 的输出体积更大(约膨胀 60%),但具有不区分大小写(标准实现使用大写)、不含易混淆字符等优点。

Base32 字母表

ABCDEFGHIJKLMNOPQRSTUVWXYZ234567

主要应用场景

  • DNS 协议:DNSSEC 中使用的 NSEC3 记录用 Base32 编码哈希值
  • TOTP 验证码:Google Authenticator 等工具使用 Base32 编码共享密钥
  • 分布式哈希表:Kademlia DHT 中 Node ID 通常用 Base32 表示
  • 文件和 URL:对大小写不敏感、不含特殊字符,适合用于文件名和 URL
  • 比特币:比特币地址的 Bech32 格式基于 Base32 改进而来
常见问题 (FAQ)

Base32 和 Base64 有什么区别?

Base32 使用 32 个字符(A-Z, 2-7),每 5 位编码一个字符,输出体积比原始数据膨胀约 60%。Base64 使用 64 个字符,每 6 位编码一个字符,膨胀约 33%。Base32 的优势是对大小写不敏感、不含易混淆字符(如 0/O、1/I/L),更适合人工输入和语音传播。

为什么 Base32 输出末尾有 = 号?

= 是 Base32 的填充字符(padding)。因为编码按 5 字节(40 位)一组处理,当输入数据不是 5 的倍数时,需要在末尾填充 = 使输出长度为 8 的倍数。填充数量表示最后一个分组中有效数据的字节数。

这个工具会将我的数据上传到服务器吗?

不会。所有编码和解码操作完全在浏览器本地使用 JavaScript 完成,数据不会离开您的设备。您可以断开网络后使用。

Base32 支持中文和 Unicode 吗?

支持。工具先将输入文本编码为 UTF-8 字节,然后进行 Base32 编码。中文、日文、Emoji 等任何 Unicode 字符都能正确处理。

RFC 4648 是什么?

RFC 4648 是 IETF 发布的"Base16, Base32, Base64 数据编码"标准文档。它正式定义了 Base32 使用的字母表(A-Z, 2-7)和填充规则。目前所有主流实现都遵循此标准。

使用指南
  1. 选择模式:点击上方的"编码"或"解码"按钮切换模式。工具会自动检测输入内容是否像 Base32 字符串并切换模式。
  2. 输入内容:编码模式下输入要编码的文本,解码模式下输入 Base32 字符串。结果会实时显示在输出区域。
  3. 互换内容:点击"互换"按钮可将输入和输出内容交换,方便连续进行编解码操作。
  4. 使用示例:点击"示例"按钮自动填入示例文本,帮助您快速了解工具的使用方法。
  5. 复制结果:点击"复制输出"按钮将结果复制到剪贴板。