Base64编码解码工具
按 UTF-8 字节口径在线完成文本与 Base64 的互相转换,中文、emoji 均可正确往返,输出编码结果并统计原始字符数、字节数、编码后长度与长度膨胀比,非法字符会明确报错。
数据来源:RFC 4648 §4(Base64 标准字母表与 = 填充)
原文字符数17个
原始 UTF-8 字节数35字节
Base64 结果长度48个
结果对应字节数36字节
长度比(结果 / 原始字节)137.14%
填充等号数1个
6L27566X5bel5YW356uZIEJhc2U2NCDkuK3mlofmtYvor5U=
Base64 用 4 个可打印字符表示 3 个字节,因此编码后长度约为原始字节的 133%;它只是编码不是加密,不能用于保护密码或敏感信息。
本页所有计算在浏览器内完成,输入内容不会被上传。
计算口径
编码链路为「文本 → UTF-8 字节 → 每 3 字节拆成 4 组 6 位 → 查 RFC 4648 字母表」,不足 3 字节用 = 填充;解码是反向过程,末尾填充等号只用于对齐、不输出到结果。中文与 emoji 在 UTF-8 下占 3—4 个字节,因此必须先转 UTF-8 字节再编码,直接对字符码点做 btoa 会得到错误结果。
使用说明
- 把中文、JSON 或文件名转成 Base64 放进接口字段时选"文本 → Base64"
- 收到 data:image/png;base64 之类内容时,只把逗号后面的部分粘贴进来选"Base64 → 文本"
- 结果区可直接框选复制,长内容会被截断显示但不影响实际转换
常见问题
为什么别的工具转出来的中文 Base64 和你的不一样?
差异几乎都来自字符编码:按 UTF-8 编码的"中"是 5Lit,按 GBK 字节直接 btoa 会得到另一串。本工具统一按 UTF-8,这是 Web、JSON 与接口传输的通用口径。
Base64 能当加密用吗?
不能。Base64 是无密钥的可逆编码,任何人拿到字符串都能还原原文。它的作用只是把二进制或非常规字符放进只允许 ASCII 的通道(邮件、URL、data URI、配置项)里传输。
为什么结尾要有一两个等号?
3 字节一组不够整除时,剩余 1 或 2 字节会编成 2 或 3 个字符,再用 = 补齐到 4 的倍数。1 个 = 代表余 2 字节,2 个 = 代表余 1 字节,长度对 4 取余为 1 的字符串则是损坏的。