Base64 Encoder / Decoder
Convert text strings to Base64 standard ASCII formatting or reverse decode them back.
Tool Documentation & Usage Guide
Base64 是一种将二进制数据转换为 ASCII 字符集的编码方案。它通常被用于在不支持处理二进制数据的纯文本媒介(如 HTML、XML、电子邮件等)上传输媒体数据。
为什么要使用 Base64 编码?
- 保障数据完整性: 避免二进制媒体文件在经过文本协议传输时因编码转义导致数据损坏。
- 内嵌媒体资源: 网页开发者经常将较小的图标或小字体文件转换为 Base64 直接写进 CSS 代码中,借此减少页面的 HTTP 连接请求次数。
常见问题解答 (FAQ)
问:为什么 Base64 编码后文件体积会增加 33%?
答:Base64 编码将每 3 个字节(24 位)的原始二进制数据拆分为 4 个 6 位的字符组,然后查表映射为 4 个 ASCII 字符(4 字节)。因为用了 4 个字节来表示原先的 3 个字节,所以最终数据体积会精确膨胀 33.33%。
问:Base64 编码可以用于密码等敏感数据加密吗?
答:绝对不能。 Base64 只是公开的二进制转文本编码机制,不具备任何密钥约束,任何人都可以瞬间将其反向解码。它只是一种传输协议,不具备任何安全保密性质。
问:该工具如何保证中文字符等多字节 Unicode 的安全编码?
答:原生 JavaScript 提供的 btoa() 仅支持二进制字符串(即每个字符的值为 0-255,占 1 个字节)。为了防止在编码中文、日文或 Emoji 时产生报错或乱码,本工具会先通过 encodeURIComponent 进行统一的 UTF-8 转义,将其转换为安全的 ASCII 序列后再执行编码,确保 100% 字符兼容。
问:什么时候最适合将图片资源转换为 Base64 嵌入网页?
答:当图片或字体体积非常小(建议 10KB 以下,如细小的 SVG 图标、占位图)时,内嵌能够省去一次浏览器 HTTP 请求。对于大体积图片,内嵌会导致 HTML 膨胀,影响页面首屏并行加载和样式渲染效率。
隐私保护保障:
本工具所有编码与解码计算完全在您的客户端浏览器中运行。绝不会将任何文本数据上传至外部服务器,完全保障您的输入隐私,并支持离线使用。