Base64 编码 — 在浏览器中将文本编码为 Base64
将文本字符串编码为 Base64。支持 UTF-8 和 Latin-1 输入,完全在浏览器中运行。无上传、无账号、无限制。
Base64 编码比 Web 本身更古老 —— 它在 2006 年的 RFC 4648 中被正式规范,但在 1996 年的 MIME 邮件附件里就已经在用,再往前还有 uuencode。它的职责范围很窄:把任意字节序列转换成可打印的 ASCII 字符串,让它在任何只接受文本的通道里都能存活。它不是加密(任何人都能解码),不是压缩(输出总比输入大 33%),也不是哈希(编码完全可逆)。更恰当的定位是:Base64 是一种传输编码,和 quoted-printable、hex 同一类;它之所以无处不在,是因为每个处理文本的系统无需任何额外配置就能处理 Base64。
编码过程本身是机械的:每次取 3 个输入字节,把每 24 位当作 4 个 6 位值,在 64 字符的字母表(A-Z、a-z、0-9、+、/)里查找每个 6 位值,如果输入长度不是 3 的倍数就用 = 填充输出。算法到这里就讲完了。这类工具之所以有意义,是因为编码很少是唯一一步 —— 输入通常是某种特定字符编码下的文本(UTF-8、Latin-1、Windows-1252),输出通常要送到有附加规则的地方(URL 安全变体、换行、MIME 合规的填充)。手动把这些细节都搞对,正是这个工具帮你省掉的麻烦。
最后的交接:如果编码后的载荷要进入 URL 或文件名,切到 URL 安全 Base64,避开 +、/、= 这些在 URL 里具有特殊含义的字符。如果载荷要进入 JWT 或 SAML 断言,JWT 专用工具原生就懂 Base64URL 变体,能省你一步。如果你要编码的是二进制数据(图片、证书),用图片专用工具 —— 它们会自动完成二进制到文本的转换,避免文件被错误地当成其他类型打开。
使用方法
输入或粘贴文本
把文本放入输入区。支持多行 —— 换行符按 Base64 标准编码为 `Cg==`,所以每一行输入对应一行输出。
选择输入编码
默认是 UTF-8,覆盖了大多数 web 内容。如果源文本来自老旧网页、邮件主题行,或 Unicode 出现之前的遗留数据库,切到 Latin-1。
复制或下载结果
把 Base64 复制到剪贴板,或下载为 .b64 文件。输出保留输入的空白,所以多行文本可以无损往返。
常见问题
编码器能正确处理 Unicode 字符吗?
能 —— UTF-8 是默认值,能正确处理每一个 Unicode 字符。编码器先把每个字符转成 UTF-8 字节序列,再对这些字节做 Base64 编码。中文、阿拉伯文、Emoji 都能完好地往返。
什么是 URL 安全变体?
标准 Base64 使用 `+`、`/` 和 `=`,这些字符在查询字符串中需要 URL 转义。URL 安全 Base64(RFC 4648 §5)把它们替换成 `-`、`_`,并去掉填充。通过开关即可切换。
编码后的输出有多大?
Base64 会把输入正好膨胀 4/3(多 33%)。100 字节的字符串变成 136 字符的 Base64 字符串,并按需加上 `=` 填充,使长度凑成 4 的倍数。
能用来编码二进制文件吗?
本编码器只接受文本输入。二进制文件(图片、PDF、音频)请改用「图片转 Base64」工具处理图片,其他格式先转成文本安全的 hex dump,再对 hex 字符串做编码。
输出会自动换行吗?
默认不会 —— 输出是一条不间断的单行。标准 MIME 编码会在 76 个字符处换行;如果邮件附件需要这种格式,请在设置里打开换行开关。
限制说明
- 仅支持文本输入编码器接受 UTF-8 或 Latin-1 文本。二进制载荷(图片、PDF、音频)需要用别的工具 —— 图片用「图片转 Base64」,其他格式先做 hex 编码。
- 33% 的体积开销Base64 总是把输入膨胀 4/3。1 KB 的文本文件编码后变成 1.37 KB。这是把任意字节塞进 64 字符 ASCII 字母表的固有代价,没有压缩选项。
- 没有完整性校验Base64 是可逆编码,不是哈希。解码任何合法的 Base64 字符串都能精确还原原始字节。如果需要防篡改,把 Base64 与 SHA-256 哈希(来自哈希工具)配合使用。
平台说明
- macOS
- macOS 在终端里自带 `base64` 命令作为 CLI 备用方案。当你不愿打开终端,或需要 CLI 需要加参数才能启用的 Unicode 处理时,本浏览器工具更合适。
- Windows
- PowerShell 的 `[System.Convert]::ToBase64String([Text.Encoding]::UTF8.GetBytes('text'))` 是命令行等价方案。对于含单引号或特殊字符的载荷,本浏览器工具能省掉转义引号的麻烦。
- Linux
- GNU coreutils 提供 `base64`,用 `-w 0` 关掉换行。本浏览器工具适合从聊天窗口、邮件或文档页直接复制的文本 —— 再敲回终端并不现实。
- Web
- 完全在客户端运行。页面加载后可离线使用。在无法安装命令行工具的受限环境中,做临时编码很实用。