Base32编解码工具

在线 Base32 编码与解码工具,支持标准 RFC4648 Base32 字母表,把文本或字节转为 Base32,或反向解码,常用于密钥、TOTP 等场景。

功能介绍

本工具实现符合RFC4648标准的Base32编码与解码,支持UTF-8文本,可以选择是否保留末尾填充字符=,自动处理非法字符并提示错误。

使用说明

  1. 在输入框中填写需要编码或解码的内容;
  2. 如果需要编码后不包含填充字符=,可勾选「取消填充」选项(仅对编码生效);
  3. 点击「Base32编码」将文本转换为Base32格式,点击「Base32解码」将Base32格式转换为原文;
  4. 转换结果会显示在下方输出区域,可以直接复制使用。

Base32编码原理

Base32是使用32个可打印字符(A-Z和2-7共32个)表示二进制数据的编码方式,原理如下:

  1. 将输入数据转换为8位二进制字节流;
  2. 将二进制流按5位一组进行分组(不足5位补0);
  3. 每组5位二进制对应一个Base32字符表中的字符;
  4. 标准Base32要求编码后长度是8的倍数,不足使用=填充,也可以选择取消填充。

注意事项

  • 本工具采用RFC4648定义的字符集:A-Z开头,后接数字2-7,不支持其他变种(如Base32hex);
  • 解码时自动忽略非Base32合法字符,仅处理有效字符;
  • 编码默认使用=填充,勾选「取消填充」后将不输出填充字符。
Base32和Base64有什么区别?

Base32使用32个字符(A-Z+2-7),每个字符编码5位二进制,Base64使用64个字符,每个字符编码6位二进制。Base32全部字符都是大写字母和数字,更适合在不区分大小写的系统(如旧版文件名、DNS)中传输,Base64编码密度更高,体积更小。

什么是填充字符=?可以去掉吗?

标准Base32要求编码结果长度为8的倍数,不足时使用=填充到指定长度,填充不影响实际编码内容,本工具支持选择取消填充,编码后不会输出填充字符=。

为什么解码出来是乱码?

如果输入的Base32内容不完整、有错误,或者原文不是UTF-8文本,可能导致解码乱码。请检查输入内容是否完整、是否为正确的Base32编码。

支持中文编码吗?

支持,本工具使用UTF-8编码处理输入文本,可以正确对中文进行Base32编码和解码。