Base64 编码/解码器

粘贴文本进行 Base64 编码,或粘贴 Base64 进行解码。支持 Unicode 和 UTF-8。

已解码 (纯文本)

已编码 (Base64)

100% 客户端隐私

您的数据绝不会离开您的浏览器。处理敏感信息非常安全。

开发者 Base64 编码与解码指南

欢迎使用网络上最强大、最安全的 Base64 编码和解码器。该工具是任何开发者、数据科学家或安全专业人士的基础工具。它提供了一种即时且可靠的方法来将文本编码为 Base64 或将 Base64 解码为文本。与大多数在线工具不同,我们的工具能正确处理所有 Unicode 和 UTF-8 字符(包括表情符号),而不仅仅是 ASCII。

我们的核心承诺是安全。此 Base64 转换器 100% 在客户端运行。所有处理都在您的浏览器中进行。无论您是在处理 API 密钥、文件数据还是私有字符串,您的信息都不会发送到我们的服务器,让您完全放心。

高级功能

Unicode (UTF-8) 支持

正确编码并解码表情符号、重音符号和所有 UTF-8 字符。

100% 客户端处理

您的数据绝不会离开您的浏览器。对敏感信息安全。

即时且免费

无需广告或频率限制,立即获得准确结果。

什么是 Base64 编码?

Base64 是一种从二进制到文本的编码方案。其主要目的是将二进制数据(如图片、文件甚至复杂文本的原始字节)转换为一种简单的、纯文本的格式,这种格式可以在仅设计用于处理文本的系统中安全传输。

“Base64”这个名称源于它使用 64 个字符的字母表来表示二进制数据。该字母表由 26 个大写字母、26 个小写字母、10 个数字和 2 个特殊字符(+ 和 /)组成。

通过仅使用这些“安全”字符来表示所有数据,Base64 确保了数据在通过电子邮件 (MIME) 等文本协议发送或嵌入 HTML、CSS、JSON 或 XML 等文本格式时不会损坏或被误解。

Base64 如何工作?(技术视角)

Base64 算法是一个巧妙的位移过程。它获取 3 个字节(每个字节 8 位,共 24 位),然后将它们“重新切分”为 4 组,每组 6 位。每组 6 位可以表示 0 到 63 的数字,这些数字直接对应字母表中的 64 个字符之一。

  1. 输入:获取 3 字节的二进制数据(例如:“Man”)。
  2. 位分组:将它们合并为一个单一的 24 位流。
  3. 重新切分:将此流分为 4 个块,每个块 6 位。
  4. 映射到 Base64:将这些 6 位二进制数字转换为其对应的 Base64 字符。
  5. 输出:3 字节字符串“Man”变成了 4 字符的 Base64 字符串“TWFu”。

什么是 Base64 填充 (= 和 ==)?

由于算法以 3 字节的输入块运行,如果您的数据不是 3 的倍数会发生什么?这就是填充 (padding) 的作用。如果输入只有 1 字节,它会被补齐到 3 字节,且输出会得到两个“==”字符。如果输入有 2 字节,它会被补齐到 3 字节,且输出会得到一个“=”字符。

Base64 对比 加密 对比 哈希:关键区别

这是最常见的误解。这三个概念有着本质的区别:

现代开发中 Base64 的常见用途

处理 Unicode 和 UTF-8(btoa 问题)

许多在线 Base64 编码器的一个主要缺陷是它们直接使用原生的 JavaScript 函数 btoa()。此函数仅支持 ASCII,在处理 Unicode 字符(如表情符号)时会失败。

我们的工具通过使用现代的 TextEncoder API 解决了这个问题,它首先将您的 Unicode 字符串转换为 UTF-8 字节流,然后再进行编码。这使得我们的工具对于任何语言都非常鲁棒。

Base64 编码/解码器 Tools.base64-encoder.page.faqs.title

?什么是 Base64 编码?

Base64 是一种编码方案,可将二进制数据(如图片或文件)转换为纯文本 (ASCII) 格式。它使用包含 64 个字符的字母表来表示二进制信息。

?Base64 编码是加密的一种形式吗?

不,Base64 是一种编码方案,而不是加密。它不安全且容易逆转。它永远不应该被用来保护敏感数据。

?为什么此工具可以处理表情符号 (Unicode),而其他工具却不行?

我们的工具在编码前使用 TextEncoder 将 Unicode 文本转换为 UTF-8 字节流。这可以正确处理所有现代文本字符。

?为什么 Base64 在网络上如此常用?

它用于 Data URL 直接嵌入文件、用于电子邮件 (MIME) 以及 JSON Web Token (JWT) 的某些部分。

?什么是 Base64 填充(= 符号)?

填充 (=) 确保最终输出长度是 4 个字符的倍数,并处理不是 3 字节倍数的输入。

?Base64 和 Base64Url 有什么区别?

Base64Url 使用一种 URL 安全的字母表(将 +/ 替换为 -_)并且通常省略填充。它用于 JWT。

Base64 编码/解码器 | 免费在线文本和文件转换工具 | CoderTab