Base64 在线编码与解码
粘贴文本,或拖入文件、图片,立即得到 Base64。支持 URL 安全、不填充、MIME 换行和任意字符集,一切都在你的浏览器本地完成。
在你的浏览器中处理。此页面无法将你的数据发送到任何地方: 我们如何确认
推荐工具
开发者最常用的工具
分类
各种 Base64 变体,分门别类
Base64 的工作原理
输入 3 个字节,输出 4 个字符。原理就这么简单。
“Man” → TWFu
输入长度不是 3 的倍数时,末尾会用 = 填充。每 3 个字节变成 4 个字符,所以输出会增大约 33%。详见 填充详解 和 Base64 与 Base64URL 的区别。
值得了解的字符
输出里反复出现的那些字符,以及原因
在你的编程语言中使用 Base64
可直接复制粘贴的编码和解码代码片段
new TextEncoder().encode("hi").toBase64() // aGk=Pythonbase64.b64encode(b"hi").decode() # aGk=PHPbase64_encode('hi'); // aGk=JavaBase64.getEncoder().encodeToString("hi".getBytes()) // aGk=C#Convert.ToBase64String(Encoding.UTF8.GetBytes("hi")) // aGk=Go (Golang)base64.StdEncoding.EncodeToString([]byte("hi")) // aGk=Node.jsBuffer.from("hi").toString("base64") // aGk=Bashprintf '%s' hi | base64 # aGk=学习
解答你接下来会遇到的问题的指南
常见问题
简短的回答,附详细内容的链接
Base64 是加密吗?
不是。Base64 只是一种编码,任何人都能还原。保护机密数据要先加密,再编码。详见 编码与加密的区别。
Base64 和 Base64URL 有什么区别?
Base64URL 把 + 和 / 换成 - 和 _,通常还会去掉填充,因此结果可以直接放进 URL 和文件名。可以用 Base64URL 工具 试试。
为什么 Base64 编码后体积大了约 33%?
每 3 个字节会变成 4 个字符。MIME 模式下的换行还会再多占一点。精确大小可以用 大小计算器 查看。
能把图片和文件转成 Base64 吗?
可以。用 图片转 Base64、文件转 Base64,再用 Base64 转图片 或 Base64 转文件 转回来。整个过程不上传任何内容。
Base64 解码后为什么是乱码?
这些字节多半是二进制数据,或者用的是另一种字符集。切换字符集,或者 解码为文件。
Data URI 是什么?
带 MIME 前缀的 Base64 数据,形如 data:image/png;base64,…,可以直接嵌入 HTML 或 CSS。用 Data URI 生成器 就能生成。
你们会保存或查看我的数据吗?
不会。页面是静态文件,工具以 JavaScript 形式在你的设备上运行。除 Cloudflare 的浏览量统计外,内容安全策略(CSP)拦截了页面发出的所有网络请求,你的数据根本无处可去。详情。
base64hub 真的免费吗?
是的。无需注册,不限次数,也没有把好功能藏起来的付费版。