Base32 编码器 / 解码器
使用 RFC 4648、Crockford 或 z-base-32 字母表编码和解码 Base32,支持填充与大小写选项,适用于文本和文件,全部在浏览器中完成。
输入内容和文件始终留在浏览器中
输入要编码的文本,或粘贴 Base32 进行解码,也可以在下方拖放文件。
拖放文件到此处
如果选择了文件,将使用文件而非文本输入。
编码或解码结果将显示在这里。
本页内容
将文本或文件编码为 Base32 并解码还原,支持三种字母表:RFC 4648、Crockford 和 z-base-32。所有处理都由 Rust 编译的 WebAssembly 模块在浏览器中完成,粘贴的密钥不会被上传。
详细功能
Base32 每个字符存储 5 位,只使用字母和数字,因此结果不怕大小写变化,也便于手工输入或口头传达。RFC 4648 字母表(A–Z、2–7)用于身份验证器应用中的 TOTP 密钥和 Tor 的 onion 地址。Crockford(0–9、去掉 I、L、O、U 的 A–Z)面向人工使用:解码时把 I 和 L 读作 1、O 读作 0,并忽略连字符。z-base-32 使用按易读性排列的小写字母表,从不填充。
= 填充(补足到 8 个字符的倍数)可设为必需、可选或不填充。字母大小写 可强制输出大写或小写,自动 则保持该字母表的惯用写法。所有字母表在解码时都不区分大小写;开启 允许空白字符/换行 后会跳过空格和换行。
文本按所选字符集(UTF-8、UTF-16LE、UTF-16BE、ASCII 或 ISO-8859-1)转换为字节。文件可以选择或拖到页面上,在 Web Worker 中读取,带进度条和 取消 按钮。如果解码出的字节不是有效文本,工具会提示,并且仍可用 下载 保存原始字节。
实用示例
三种字母表:hello 编码为 NBSWY3DP(RFC 4648)、D1JPRV3F(Crockford)和 pb1sa5dx(z-base-32)。
填充与大小写:Hi 在 必需 填充下为 JBUQ====,选 无填充 时为 JBUQ;把 字母大小写 设为 小写 则得到 jbuq====。
解码不区分大小写:JBSWY3DPEE====== 和 jbswy3dpee====== 都解码为 Hello!;无填充的 JBSWY3DPEE 在填充设为 可选 时同样可以解码。
Crockford 容错:使用 Crockford 字母表时,DIJPRV3F(用字母 I 代替 1)和 d1jp-rv3f(小写并带连字符)都解码为 hello。
如何使用此工具
输入文本或选择文件
在 输入(文本) 中输入或粘贴文本,或将文件拖到页面上、点击 选择文件。
选择字母表和填充
在 字母表 中选择 RFC 4648 (A-Z2-7)、Crockford (0-9A-Z) 或 z-base-32。按需设置 填充、字母大小写,文本不是 UTF-8 时再调整 文本字符集。
编码或解码
点击 编码 生成 Base32,或点击 解码 还原文本或字节。请使用生成该字符串时的同一字母表。
复制或下载
复制 将结果放入剪贴板,下载 将其保存为文件;二进制结果只能下载。
提示和最佳实践
- Base32 输出比输入大约多 60%(每 5 字节对应 8 个字符);如果不需要大小写无关,Base64 更紧凑。
otpauth://二维码中的 TOTP 密钥是 RFC 4648 Base32,通常没有填充:请选择 可选 填充。JBSWY3DPEHPK3PXP解码后是 10 个原始字节,请用 下载 保存。- 填充为 必需 时,
JBSWY3DPEE这类无填充输入会被拒绝,改为 可选 即可。 - 各字母表不能混用:
pb1sa5dx只有在 z-base-32 下才解码为hello,按 RFC 4648 则无效。 - 开启 允许空白字符/换行 时,粘贴的密钥中的空格和换行会被忽略。