🔧 Base64 二进制编码器 — 将文件/字节编码为 Base64(支持 Base64url + MIME 选项)

100% 客户端处理(无需上传至服务器)。将二进制文件/字节编码为 Base64,支持格式预设(RFC 4648、Base64url、MIME 换行)、填充控制、严格验证和批量多文件支持。同时支持将 Base64 解码回可下载的文件。

Loading…

关于 Base64 编码/解码(二进制)

此工具主要用于将二进制文件(字节)编码为 Base64 文本以便传输(JSON、日志、电子邮件、配置)。当您需要将 Base64 转换回可下载的二进制文件时,它也包含解码功能。所有操作均在您的浏览器本地运行(无需上传),并提供清晰的选项用于选择 Base64、Base64url 或 MIME 换行格式、填充行为以及严格验证。

功能特点

  • 上传或拖放二进制文件(支持多文件批量处理)
  • 两种操作:编码文件 → Base64,或解码 Base64 → 文件下载
  • 格式预设:RFC 4648(标准)、RFC 4648 URL 安全(Base64url)、RFC 2045 MIME(76 字符换行 + CRLF)
  • 填充控制:自动、始终包含 "="、或省略填充
  • 编码输出的可选换行长度(0 表示禁用;MIME 通常使用 76)
  • 严格验证模式,拒绝无效字符/填充(适用于调试)
  • Base64 输出上的可选末尾换行(编码模式)
  • 100% 客户端处理(无需上传至服务器)。

使用方法 for base64-binary-encoder

1

拖放一个或多个文件(或粘贴 Base64 进行解码)

对于编码,将您的二进制文件拖放到上传区域。对于解码,粘贴您收到的 Base64 字符串(例如来自 JSON、日志或电子邮件)。

2

选择操作/模式并运行

选择“操作”:“编码文件 → Base64”或“解码 Base64 → 文件”,然后点击相应的运行按钮(编码/解码)。如果需要,选择一个“格式”预设(标准/Base64url/MIME),调整填充和换行设置,并在调试格式错误的 Base64 时启用“严格验证”。

3

复制 Base64 输出或下载解码后的文件

编码后,复制 Base64 文本(根据您的设置,可选择换行/以换行符结尾)。解码后,下载重建的二进制文件(文件命名在可能时遵循工具的规则)。

技术规格

执行模型

运行时披露、约束以及您的数据如何处理。

方面详情
模式100% 客户端处理(无需上传至服务器)。
操作范围编码二进制 → Base64(主要),以及解码 Base64 → 二进制下载
输入编码:文件/Blob/Uint8Array/ArrayBuffer/TypedArray。解码:Base64 字符串
输出编码:Base64文本。解码:字节作为可下载文件
限制约1–2MB字符;约25000毫秒超时
数据保留所有处理均在您的浏览器本地完成(无上传)
对于高度敏感数据(密钥、密码、受监管文件),建议使用离线/本地工具,避免将机密信息复制到任何网页中。

微型示例

一个编码为Base64(标准RFC 4648)的微小字节序列。

项目
输入字节(十六进制)00 01 02 03 04 05 06 07 08 09
输出Base64AAECAwQFBgcICQ==
输出差异情况Base64url将"+"/"/"替换为"-"/"_";填充符可能省略;MIME格式可能换行
编码具有确定性:相同字节 + 相同选项 → 相同Base64输出。

错误与边缘情况

常见故障模式及后续处理建议。

现象可能原因检查事项
解码输入必须为字符串尝试解码时提供了字节/文件而非Base64文本对文件选择"编码"操作;解码时请粘贴Base64字符串
本工具编码二进制数据...而非文本字符串尝试将文本粘贴到二进制编码器中进行编码编码请上传文件(或提供字节);纯文本工作流请使用文本Base64工具
无效字符/严格验证失败Base64包含所选格式不允许的字符,或填充符错误确认"格式"(标准/Base64url/MIME)与"填充"设置;关闭严格模式以接受宽松输入
长度/填充错误(尤其严格模式开启时)Base64被截断、"="填充错误或字母表混用重新复制完整数据;确保未丢失末尾"=",或将填充设置为"自动"
输入过大(最大2MB)数据量超出工具安全限制分割文件/数据,或对更大数据使用本地CLI/脚本
适配器调用超时处理超过约25秒超时限制(取决于数据大小/设备性能)尝试使用较小的输入、禁用实时预览,或切换到本地命令行工具

命令行替代方案

对于大文件、机密信息或CI使用场景,请在本地运行Base64编码/解码。以下是规范且广泛可用的选项。

Linux/macOS (coreutils)

将文件编码为Base64(无换行)

base64 -w 0 input.bin > output.b64.txt

将input.bin编码为Base64。-w 0标志禁用行换行(GNU coreutils)。

将文件编码为MIME风格的Base64换行格式(每行76字符)

base64 -w 76 input.bin > output.mime.b64.txt

符合常见的MIME行长度。(换行符可能因平台而异,不一定使用CRLF。)

将Base64解码回文件

base64 -d input.b64.txt > output.bin

将Base64文本解码为原始字节。

macOS (BSD base64) / Unix

将文件编码为Base64

base64 < input.bin > output.b64.txt

BSD base64使用与GNU不同的标志;此形式具有较广的兼容性。

将Base64解码回文件

base64 -D < input.b64.txt > output.bin

在macOS/BSD上,解码通常使用-D(而非-d)。

OpenSSL(跨平台)

将文件编码为Base64(单行)

openssl base64 -A -in input.bin -out output.b64.txt

-A标志输出单行(无换行)。

将Base64解码回字节

openssl base64 -d -in input.b64.txt -out output.bin

在coreutils base64不可用时很有用。

Node.js

将文件编码为Base64

node -e "const fs=require('fs'); const b=fs.readFileSync('input.bin'); process.stdout.write(b.toString('base64'))" > output.b64.txt

读取字节并输出Base64。

将Base64解码到文件

node -e "const fs=require('fs'); const s=fs.readFileSync('input.b64.txt','utf8').trim(); fs.writeFileSync('output.bin', Buffer.from(s,'base64'))"

将Base64文本解码为原始字节。

Python

将文件编码为Base64

python -c "import base64,sys; sys.stdout.write(base64.b64encode(open('input.bin','rb').read()).decode('ascii'))" > output.b64.txt

将文件字节编码为Base64 ASCII。

将Base64解码回文件

python -c "import base64; open('output.bin','wb').write(base64.b64decode(open('input.b64.txt','rb').read()))"

将Base64解码为原始字节。

使用场景

将二进制数据嵌入文本通道

  • 在JSON负载中附加小型二进制文件
  • 将文件以Base64格式粘贴到问题跟踪器或文档中
  • 通过仅接受文本的系统传输字节数据

调试其他系统生成的Base64

  • 切换标准/Base64url/MIME预设以匹配生成器
  • 启用严格验证以捕获填充/字母表错误
  • 使用解码确认负载能重构原始文件

CI流水线中对小型产物的检查

  • 在发布前验证产物解码无误
  • 标准化Base64输出(换行/填充)以实现稳定差异对比

更安全地分享非机密二进制片段

  • 无需通过邮件发送原始二进制文件即可分享可复现的测试夹具
  • 避免在浏览器工具中处理密钥;对密钥/令牌使用本地CLI工具

❓ Frequently Asked Questions

此工具是否提供公共API?

不提供。本页面为浏览器内工具,未公开任何API端点。

处理过程是本地还是远程?

100%客户端处理(无服务器上传)。文件/Base64数据均在您的浏览器本地处理。

可以在此安全地编码机密信息(密钥、令牌、密码)吗?

请避免这样做。尽管处理过程在本地,但机密信息仍可能通过剪贴板历史、截图、浏览器扩展或共享设备泄露。对于机密信息,请改用本地命令行工具。

为什么解码会失败并提示“无效字符”或“填充错误”?

大多数解码失败源于格式不匹配(标准格式 vs Base64url vs MIME换行格式)、输入被截断或填充不正确。请尝试选择正确的“格式”预设,将填充设置为“自动”,并暂时禁用“严格验证”以检查输入是否仅轻微不符合规范。

为什么无法通过直接粘贴文本来编码?

这是二进制(文件/字节)变体。编码功能期望字节输入(文件/Blob/Uint8Array/ArrayBuffer)。如果您的输入是纯文本,请使用文本Base64编码器,以便明确进行文本到字节的编码。

Pro Tips

Best Practice

如需URL安全的令牌,请选择Base64url预设;它会将"+"/"/"替换为"-"/"_",且根据您的设置通常会省略填充字符。

Best Practice

调试解码失败时,启用严格验证可获取更早、更清晰的失败信息,待确定生产方特性后可放宽此设置。

Best Practice

为保持CI中差异稳定,请标准化换行和结尾换行符,确保Base64输出在不同环境中保持一致。

Best Practice

处理大文件或敏感内容时,建议优先使用本地CLI工具;可避免浏览器限制,并减少通过剪贴板或扩展程序意外泄露的风险。

Additional Resources

Other Tools