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 过大会拖慢首屏,建议只用于小图标。
解码报错怎么办?
常见原因是字符串被截断、包含换行以外的非法字符、或缺少末尾的 = 补齐。本工具会自动忽略空白与换行,仍报错则说明内容本身不完整。