Base64 编码 / 解码(支持中文与文件)

在线 Base64 编码解码工具:支持中文等 UTF-8 字符、支持文件转 Base64 与下载,自动识别解码失败原因。浏览器本地处理,不上传数据。

Base64 是一种用 64 个可打印字符表示二进制数据的编码方式,常用于在只支持文本的场合传输数据,例如把图片内嵌进 HTML 或 CSS、在 JSON 字段中携带文件内容、以及在 HTTP 头中传递令牌。

本工具在浏览器本地完成编解码,中文等多字节字符按 UTF-8 正确处理(不会出现乱码),并支持直接把文件读成 Base64 字符串。编码结果体积会膨胀约三分之一,这是 Base64 的固有特性。

常见使用场景

  • 把图片转成 Data URL 内嵌到网页,省去一次请求
  • 调试接口时查看 Authorization 头中携带的凭据内容
  • 把二进制文件放进只能存文本的字段中传输
  • 校验一段 Base64 字符串是否被截断或包含非法字符

为什么会出现乱码

Base64 只负责把字节序列映射成文本,不负责字符集。同一段字节用 UTF-8 与用 GBK 解读会得到不同文字。旧工具常直接使用 atob,遇到中文就会乱码,本工具先按 UTF-8 还原字节再解码,因此中文可正常显示。

常见问题

Base64 是加密吗?

不是。Base64 是编码而非加密,没有任何密钥,任何人拿到字符串都能还原出原文。需要保密请使用 AES 等加密算法。

为什么编码后长度变长了?

Base64 用 4 个字符表示 3 个字节,因此体积约为原始数据的 4/3(增加约 33%),末尾可能以 = 或 == 补齐。

图片转 Base64 有大小限制吗?

受浏览器内存限制,通常几十 MB 以内没有问题。但内嵌到网页中的 Data URL 过大会拖慢首屏,建议只用于小图标。

解码报错怎么办?

常见原因是字符串被截断、包含换行以外的非法字符、或缺少末尾的 = 补齐。本工具会自动忽略空白与换行,仍报错则说明内容本身不完整。

相关教程

相关工具