免费 Base64 编码器与解码器 | OneStepToRank

Base64 编码器与解码器

将文本编码为 Base64,或将 Base64 解码回普通文本。支持 UTF-8 字符,完全在浏览器中运行——不向服务器发送任何数据。

编码 / 解码 Base64

主导 本地搜索

开发者工具只是起点。OneStepToRank 24/7 监控您整个服务区域的 Google 排名,并自动调整策略,让您始终保持领先。

免费开始使用

什么是 Base64 编码?

Base64 是一种二进制转文本的编码方案,将二进制数据表示为可打印的 ASCII 字符串。它使用 64 个字符——大写字母 A 到 Z、小写字母 a 到 z、数字 0 到 9、加号 (+) 和斜杠 (/)——对任意字节进行编码。当输入长度不是 3 的倍数时,使用等号 (=) 进行填充。Base64 最初为电子邮件 (MIME) 设计,用于在仅文本协议中安全传输二进制附件,但随后成为网页开发、API 和数据存储中的基础工具。

Base64 的常见用例

Base64 编码在现代网页开发中被广泛使用。数据 URI 将图像、字体和其他小型资源直接嵌入 HTML 或 CSS,省去 HTTP 请求,但文件大小约增加 33%。API 认证 通常使用 Base64——HTTP Basic Auth 将 username:password 字符串进行 Base64 编码并放入 Authorization 头。JSON 负载 常包含 Base64 编码的二进制数据,因为 JSON 本身不支持二进制。电子邮件附件 在 MIME 格式中使用 Base64 对图像、文档等文件进行编码,以随纯文本邮件内容一起传输。需要注意的是,Base64 并非加密——它可以轻易逆转,根本不提供任何安全性。

Base64 编码表与填充

Base64 算法通过将输入按每 3 字节(24 位)一组读取,然后将这 24 位拆分为四个 6 位组。每个 6 位值映射到编码表中的 64 个字符之一。当输入长度不是 3 的整数倍时,会使用 = 字符进行填充:如果剩余一个字节,则添加一个 =;如果剩余两个字节,则添加两个 ==。这确保编码输出始终是 4 的倍数长度。常见变体 Base64url+ 替换为 -,将 / 替换为 _,使输出可安全用于 URL 和文件名,无需百分号编码。

常见问题

什么是 Base64 编码?
Base64 是一种二进制转文本的编码方案,将二进制数据转换为 64 个可打印的 ASCII 字符串。它设计用于在仅文本的渠道(如电子邮件)安全传输二进制数据。编码使用 A-Z、a-z、0-9、+、/ 字符,使用 = 进行填充。数据大小约增加 33%。
何时应使用 Base64 编码?
常见用例包括在 HTML/CSS 中使用数据 URI 嵌入图像、在电子邮件中对二进制附件进行编码、在 JSON API 负载中发送二进制数据、在 HTTP Basic Authentication 头中使用(将 username:password 进行 Base64 编码),以及在基于文本的配置文件中存储小型二进制值。Base64 并非加密,提供不了安全性——切勿用于隐藏敏感数据。
什么是数据 URI,它们与 Base64 有何关联?
数据 URI 将文件直接嵌入 HTML 或 CSS 作为内联字符串,而不是链接外部文件。格式为 data:[mediatype][;base64],data。例如,一个小的 PNG 可嵌入为 data:image/png;base64,iVBORw0KGgo... 这消除了对该资源的 HTTP 请求,但 Base64 编码的版本比原文件大约 33%。最适合用于几千字节以下的图标、小图片和字体。
Base64 编码能处理非英文字符吗?
可以,但需要正确处理 UTF-8 编码。JavaScript 的 btoa() 函数仅支持 Latin-1 字符。要对 UTF-8 文本(包括表情、中文、阿拉伯语等)进行编码,必须先将字符串转换为 UTF-8 字节(使用 encodeURIComponent 和 unescape),再传入 btoa。解码时使用 atob、escape 和 decodeURIComponent。本工具自动处理 UTF-8,您可以在任何语言下编码和解码文本,无需担心字符编码问题。