Base64编码工具

使用我们的Base64编码工具将任何字符串输入编码为Base64,确保数据安全传输。

2 个评分中的 5 个
Base64编码工具

Base64编码工具是一款免费工具,可将字符串转换为标准 Base64 文本。

什么是 Base64,它为什么会出现?

Base64 是一种二进制到文本的编码方式,使用字母、数字和少量符号表示数据。之所以需要 Base64,是因为有些系统可以可靠地传输文本,却可能修改或拒绝原始二进制数据。

标准 Base64 字符表包含大写字母、小写字母、数字、加号和正斜杠,末尾还可能使用等号进行填充。编码后的内容通常比原始数据更长,因为每 3 个输入字节会转换成 4 个 Base64 字符。

输入为 Hello。

输出为 SGVsbG8=。

Base64 处理的是字节,而不是人们看到的字符。空格、标点和数字会像其他输入一样被编码。带重音符号的字母、表情符号和非拉丁文字必须先采用字符编码,通常是 UTF-8。字节编码不同,生成的 Base64 结果也会不同。输入为空时,编码结果也是空值;输入很长时,输出字符串会按比例变长。

Base64 是编码,不是加密。任何人都能使用解码器还原原始数据,因此它无法提供保密性,不适合用来隐藏密码、API 密钥或个人信息。

示意图:文本经由 Base64编码工具 双向转换

如何使用 Base64编码工具?

输入需要编码的字符串,然后在 Base64 encoded 结果字段中查看转换后的值。此工具通过 PHP 的 base64_encode 函数执行标准 Base64 编码。

  1. 准确复制源字符串,包括所有需要保留的空格和换行符。
  2. 复制返回的 Base64 值,不要添加引号或多余的空白字符。
digily.link 上的 Base64编码工具 工具及其输入表单

编码操作在服务器端完成。你的输入会通过 HTTPS 发送到服务器,并且不会被存储。虽然 HTTPS 能够保护传输过程中的请求,但除非接收系统确实要求使用 Base64,否则请避免提交敏感信息。

Base64 通常用在哪里?

当二进制数据或任意字节需要通过文本格式传输时,通常会使用 Base64。接收系统必须知道该值采用了 Base64 编码,并在适当的环节进行解码。

  • 数据 URL:将经过 Base64 编码的图片、字体或其他文件连同媒体类型直接放入 HTML 或 CSS。
  • 查询字符串:有时会携带编码后的令牌或结构化数据,不过通常更适合使用 URL 安全的 Base64 变体。
  • 电子邮件:将 Base64 用作 MIME 传输编码之一,以传输无法作为纯文本安全发送的附件和邮件组成部分。
  • JSON 载荷:可能会用字符串表示图片字节、文档或密码学材料,因为 JSON 没有原生的二进制类型。
  • HTTP 身份验证:在 Basic 身份验证中使用 Base64 编码用户名和密码。解码后仍可直接读取原始值,因此依然需要安全的传输方式。
Base64编码工具 工具生成的结果示例

该选择标准 Base64 还是 Base64url?

此工具生成标准 Base64,适用于 MIME 电子邮件、许多 JSON API,以及明确要求使用常规 Base64 字符表的系统。标准输出可能包含 +、/ 和末尾的 = 填充字符。

如果该值将成为 URL、文件名、Cookie 或 JSON Web Token 的一部分,请选择 Base64url。该变体会用 - 替换 +,用 _ 替换 /,并且通常省略填充字符。切换变体前,请先查看接收系统的规范。只支持其中一种字符表的解码器可能会拒绝另一种格式。

为什么 Base64 无法解码,或者解码后是乱码?

Base64 无法解码,通常是因为输入使用了非预期的变体,或内容在传输过程中发生了变化。有效的 Base64 也可能解码为二进制字节,将其直接显示成文本时,看起来就会像乱码。

  • 字符表不匹配:常见于将 Base64url 输入交给严格的标准 Base64 解码器,反过来也一样。
  • 缺少填充字符:可能导致要求使用 1 个或 2 个等号补足长度的解码器报错。
  • 重复编码:已经编码的值又被编码一次。第一次解码后得到的会是另一个看起来像 Base64 的字符串,而不是原始内容。
  • 字符被修改:可能是因为查询字符串中的加号被解释成空格,或者复制时加入了换行符和空格。
  • 二进制输出:直接显示成文本时可能看起来像乱码。解码后的字节可能属于图片、压缩包、PDF 或加密文件,需要用正确的应用程序打开。

Base64解码工具可以还原标准 Base64 文本。如果解码后的字节表示图片,下一步直接使用 Base64解码为图片会更方便。

常见问题

Base64 会保留字母大小写和换行符吗?

会。Base64 会保留底层字节,包括字母大小写和换行字符。不过,Windows 和 Unix 风格的换行符使用不同的字节序列,因此看起来完全相同的多行文本也可能生成不同的编码结果。

可以把 Base64 直接粘贴到 HTML 或 CSS 中吗?

只有在补充文档要求的语法后才可以。数据 URL 通常需要在编码内容前添加媒体类型和 ;base64 标记,而此编码工具只返回编码内容,不会生成完整的 URL。

相同文本每次都会生成相同的 Base64 值吗?

只要输入字节完全相同,就会生成相同的值。字符编码不同、末尾存在不可见空格、包含字节顺序标记,或者换行符发生变化,都会改变结果。

Base64 区分大小写吗?

区分。Base64 字符表中的大写和小写字符代表不同的值,因此即使修改大小写后字符串看起来仍然有效,也可能导致解码数据损坏。

这个工具可以编码文件吗?

此工具用于处理字符串,不支持上传文件。粘贴文件的文本形式,并不等于对文件的原始字节进行编码。如果其他应用程序要求以 Base64 提供文件字节,请使用支持文件的编码工具,并按照该应用程序对 Base64 字符表和填充方式的要求操作。

类似工具

Base64解码工具

使用我们的Base64解码工具将Base64输入解码为字符串,方便数据还原。

4,931
43

热门工具