Base64 编解码 - 文本与文件互转
把文本或文件转成 Base64,或把 Base64 还原成原文与文件。支持 URL-safe 变体、data URL 前缀,中文按 UTF-8 处理不会乱码。
The tool itself switches to English, but this long-form guide is currently written in Chinese only.
Base64 编解码 - 文本与文件互转是什么
Base64 不是加密,它只是把任意字节换成 64 个可打印字符,好让二进制内容能塞进只允许文本的地方:邮件正文、JSON 字段、CSS 里的内联图片。这个工具两个方向都能走——文本与文件转 Base64,或者把 Base64 还原成原文与可下载的文件。所有转换在浏览器本地完成,文件不上传服务器。
所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。
怎么用Base64 编解码 - 文本与文件互转
- 文本页:把要编码的文本粘进左侧,右侧立刻给出 Base64。默认会**自动判断方向**——看着像 Base64 就解码,否则编码;判错了点方向按钮手动指定
- 需要放进 URL 或文件名时勾上 URL-safe:「+」 与 「/」 会换成 「-」 与 「_」,末尾的 「=」 填充也会去掉
- 文件页:选择或拖入一个文件,直接得到 Base64。勾上 data URL 前缀后会带 「data:image/png;base64,」 这一截,适合直接写进 「<img src>」 或 CSS
- 反过来还原文件时,把 Base64 粘到「还原成文件」,填个文件名点下载。这条路径按字节解码,不经过文本转换,所以图片、PDF 都不会损坏
示例
输入
在线工具箱 gjxtools.com输出
5Zyo57q/5bel5YW3566xIGdqeHRvb2xzLmNvbQ==中文按 UTF-8 编码,末尾的等号是补齐到 4 字节的填充。
常见问题
为什么解码中文会变成问号或乱码?
通常是那段 Base64 原本不是 UTF-8 编码的文本(比如 GBK 的中文,或者干脆是图片的字节)。本工具对解不出合法 UTF-8 的输入会直接报错而不是给一堆替换字符——因为返回乱码比报错更难排查。
URL-safe 和标准 Base64 有什么区别?
标准 Base64 用 「+」 和 「/」,这两个字符在 URL 里有特殊含义(「+」 会被当成空格、「/」 是路径分隔符),所以 URL-safe 版本把它们换成 「-」 和 「_」,并去掉末尾的 「=」 填充。两者内容等价,只是字母表不同。
data URL 前缀是必须的吗?
看用在哪。直接写进 HTML 的 「src」 或 CSS 的 「url()」 需要前缀,浏览器靠它判断 MIME 类型;传给接口或存进数据库通常只要纯 Base64。
小提示
- Base64 会让体积涨约 33%。如果是为了「缩小」图片,它只会更大;要缩小请用图片压缩工具
- 中文按 UTF-8 编码,所以同一段中文在不同工具里算出的 Base64 应该一致。如果你算出来的和别处不同,先确认对方是不是用了 GBK
- 不要把 Base64 当加密手段。任何人拿到都能一秒还原,它没有任何保密性
- 超过 50MB 的文件不建议走浏览器:Base64 字符串本身就超过浏览器单个字符串的上限,页面会直接卡死,这种场景用命令行 「base64」 更稳