← 全部工具
数据不出浏览器
Base64 Encode / Decode — 在线编解码
免费 Base64 编码器与解码器。在文本与 Base64 之间转换,适合调试令牌、数据 URI 与 API 载荷。
什么时候该用 Base64
Base64 只为一件事存在:让字节流通过只能承载可打印 ASCII 的通道。JSON、HTTP 头、HTML 属性、XML 和邮件正文遇到原始二进制都会损坏或被改写,于是把字节重新编码成 64 个安全字符,就能安全穿过这些通道。它是传输编码,不是存储格式。
最常见的误会是把 Base64 当成保护手段。任何人都能解码,而且输出体积还会增大约 33%。要保密,答案是使用你自己掌握密钥的加密算法,Base64 只是加密之后用来包裹密文的信封,仅此而已。
第二个常见误会是换行宽度用错。不少解码器(尤其是老系统)期望每 76 个字符换行,而多数现代 API 要求一整串不换行。搞清楚下游要哪一种,能省掉一个下午去排查一段看起来完全正常的 payload。
常见问题
- 什么是 Base64?
- Base64 把二进制或文本编码为安全的 ASCII,常用于邮件、令牌与数据 URI。
- 编码是否加密?
- 不是。Base64 只是编码,不是加密,可轻易还原。
- 支持 Unicode 吗?
- 支持。编码前使用 UTF-8,因此中文等多字节字符也能正确处理。
- 为什么 Base64 会让数据变大?
- Base64 用 4 个 ASCII 字符表示每 3 个字节,是固定的 4/3 膨胀。1 MB 的图片会变成约 1.37 MB,若结果再按 UTF-8 或 JSON 转义存储,膨胀会更明显。用 Base64 传二进制是方便,从来不是高效。
- 怎么对图片或文件做 Base64 编码?
- 要编码原始字节,而不是文件名。网页场景下再把结果包成 data:image/png;base64,... 这样的 data URI,浏览器即可内联渲染。超过几 KB 的文件,直接按文件提供服务会更快,因为 data URI 无法被单独缓存。
- 为什么有些 Base64 结尾带一个或两个等号?
- 那是填充符。Base64 输出以 4 个字符为一组,当输入长度不能被 3 整除时,编码器补上 = 把最后一组填满。它们不携带信息;有些解码器接受省略填充的字符串,有些则不接受。