Base32 编码/解码(二进制)

100%客户端处理(无需服务器上传)。将二进制文件(字节)编码为Base32文本,支持可选字母表(RFC 4648/Base32hex/Crockford)、填充控制、可选换行以及可预测的输出格式。

Loading…

关于 Base32二进制编码器

本页面专注于编码功能:上传一个或多个二进制文件并将其转换为Base32文本。选择字母表(RFC 4648、Base32hex或Crockford),控制填充,设置字母大小写,并可选择换行输出。需要反向操作?请使用另一个页面。

功能特点

  • 将二进制文件(File/Blob/Uint8Array/ArrayBuffer)编码为Base32文本
  • 选择Base32方言:RFC 4648(Base32)、RFC 4648(Base32hex)或Crockford Base32
  • 控制填充(=):自动、始终包含或省略
  • 字母大小写输出:大写或小写(编码模式)
  • 可选换行:在0-120列处换行(0表示禁用换行)
  • 输出格式辅助:行分隔符(LF或CRLF)以及可选的最终换行符
  • 多文件拖放区工作流,用于批量编码(客户端)
  • 100%客户端处理(无需服务器上传)。

使用方法 for base32-binary-encoder

1

粘贴或拖放文件

将一个或多个文件拖放到上传区域(二进制输入)。此编码器期望字节(File/Blob/Uint8Array/ArrayBuffer),而非纯文本字符串。

2

点击“编码”

保持操作为“编码文件→Base32”,选择格式(RFC 4648 / Base32hex / Crockford),并根据需要调整填充、字母大小写、换行和换行符选项。

3

复制/下载

从编辑器中复制Base32输出,或为您的文件下载/导出编码结果(您的工具界面可能会生成类似*.b32.txt的文件名)。

技术规格

执行模型

运行时披露、约束以及此页面变体(编码)接受的编码器输入。

方面详情
运行时100%客户端处理(无需服务器上传)。
变体范围仅编码(文件/字节→Base32文本)
输入类型File/Blob/Uint8Array/ArrayBuffer/TypedArray(二进制)。编码模式不接受文本字符串。
输出类型文本(Base32)
格式RFC 4648(Base32)、RFC 4648(Base32hex)、Crockford Base32
格式控制填充(自动/包含/省略)、字母大小写(大写/小写)、换行长度(0–120)、行分隔符(LF/CRLF)、插入最终换行符
限制约1–2MB字符;约25000毫秒超时
数据保留所有处理均在您的浏览器本地完成(无上传)
如果您正在处理机密或受监管数据,即使此页面在浏览器中本地运行,也建议优先使用离线/本地工具。

迷你示例

编码器生成内容的最小示例。(具体输出取决于所选格式、填充、大小写和换行设置。)

项目
输入二进制文件(字节)
操作编码文件 → Base32
输出Base32文本(RFC 4648 / Base32hex / Crockford)
对于相同的输入字节和选项,Base32输出是确定性的。

错误与边界情况

当输入或设置与编码工作流不匹配时的预期情况。

现象可能原因检查事项
此工具编码二进制数据…而非文本字符串您将文本粘贴到了仅支持二进制的编码界面请上传文件/提供字节数据,而非输入文本
不支持的二进制输入类型输入不是File/Blob/Uint8Array/ArrayBuffer/TypedArray类型确保浏览器提供的是File/Blob,或您的代码传递的是字节缓冲区
输入过大(最大2MB)文件/字节数据超出工具处理限制尝试使用较小的样本,或在编码前将文件分割成块
适配器调用超时编码操作超过约25000毫秒的超时限制减少输入大小,并禁用高开销的格式设置(如频繁换行,如适用)
意外的输出格式包装/填充/大小写/换行选项改变了文本呈现方式验证填充模式、换行长度、分隔符(LF/CRLF)以及最终换行设置

命令行替代方案

对于自动化、可重复性或敏感数据处理流程,建议在终端或CI环境中本地执行。

macOS / Linux

将文件编码为Base32(需要系统上可用的base32工具)

base32 < input.bin > output.b32.txt

如果您的平台提供base32命令(通常来自GNU coreutils),则使用本地Base32编码器。具体行为(填充/包装)取决于实现方式。

Windows (PowerShell)

使用本地语言/运行时库(推荐)进行Base32编码

python -c "import base64,sys; data=open('input.bin','rb').read(); print(base64.b32encode(data).decode('ascii'))"

Python的标准库支持Base32编码。请在脚本中调整格式(包装/换行/大小写)以匹配所需的输出。

使用场景

将二进制数据作为纯文本共享

  • 编码小型二进制数据块,以便可以粘贴到工单、聊天或基于文本的系统中
  • 为限制输入为A–Z/2–7(RFC 4648)的系统生成Base32表示

跨Base32方言的互操作性测试

  • 比较同一文件的RFC 4648、Base32hex和Crockford输出
  • 标准化填充和大小写规则,确保团队成员获得相同结果

CI友好的测试夹具和黄金输出

  • 为单元测试生成确定性的Base32测试夹具
  • 固定包装和换行行为,避免跨平台差异

性能和大小合理性检查

  • 快速估算小文件样本的Base32扩展大小
  • 验证行包装和分隔符是否符合下游解析器的预期

❓ Frequently Asked Questions

此编码器是否有公共API?

没有。此页面设计用于浏览器交互式使用,不提供公共API端点。

处理是本地还是远程进行?

100%客户端处理(无服务器上传)。所有编码均在您的浏览器本地完成。

我可以在这里安全地编码机密信息吗?

此工具在您的浏览器本地运行,但如果您的环境不可信,仍应避免将高度敏感的机密信息粘贴或上传到任何在线页面。对于敏感工作流程,请使用本地CLI或离线脚本。

为什么会出现工具期望二进制数据的错误?

此编码器页面用于处理文件/字节。如果粘贴文本字符串,将被拒绝。请上传文件(或提供字节)而不是输入文本。

为什么我的输出(大小写、填充、换行)与其他工具不同?

Base32文本呈现取决于选项和方言。请检查所选格式(RFC 4648/Base32hex/Crockford)、填充模式、字母大小写、换行长度、分隔符(LF与CRLF)以及是否追加最终换行符。

Pro Tips

Best Practice

若需在PR或CI中保持稳定的差异对比,请固定格式:选择单一方言、固定填充模式、明确设置换行长度,并决定是否追加最终换行符。

Best Practice

为获得与严格消费方的最大兼容性,建议使用RFC 4648并选择“自动”或“始终包含=”填充模式,同时保持输出大写。

Best Practice

若下游解析对换行敏感,请明确设置行分隔符(LF或CRLF)以匹配目标平台。

Best Practice

对于敏感数据,即使本工具在客户端运行,仍建议优先使用本地CLI/库执行,尤其是在共享设备或托管浏览器环境中。

Additional Resources

Other Tools