Base32开发注意事项

64 0

Base32 用 32 个可打印字符(RFC 4648 字母表:A–Z 和 2–7)表示任意二进制数据,每个字符携带 5 个比特,输出通常用 “=” 补齐到 8 的倍数。下面重点说明易错点。

Base32开发注意事项

  • 解码前去掉空白,必要时补等号
  • TOTP 密钥常省略填充,与标准 RFC 输出可能差几个 =
  • 字母 O 不在 RFC 4648 字母表中,出现 O 多半是认错了变体
  • 不要用它“隐藏”密码

示例

输入:Hello

编码结果:JBSWY3DP

说明:按 UTF-8 先得到 5 字节,再按 RFC 4648 Base32 编码。

特殊字符

填充规则:余 1 字节补 6 个 =,余 2 补 4 个,余 3 补 3 个,余 4 补 1 个,余 0 不补。

常见报错

  • binascii.Error: Incorrect padding:缺少等号,按 8 的倍数补齐
  • 非字母表字符:可能用了 Crockford 或其他变体
  • 解码后中文乱码:字节的字符集不是 UTF-8

本站的Base32编码工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。

常见问题

【Hello 的 Base32 是什么?】JBSWY3DP。

【为什么会有很多等号?】填充。输入字节数不是 5 的倍数时,用 = 补到 8 个字符一组。

【区分大小写吗?】标准字母表是大写;很多解码器也接受小写。

文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。

署名:123问编辑部 · 最近修订:2026-11-11 · 已按编辑与审核说明检查;内容仅供参考,不构成医疗、法律或投资建议。发现错误可查看纠错方式。

标签: 数码开发

抱歉,评论功能暂时关闭!