Base64 编码解码器

在线将文本编码为 Base64,或把 Base64 字符串解码回文本。支持 UTF-8,适合开发调试、接口排查和快速转换。

什么是 Base64 编码

Base64 编码是一种把二进制数据表示成可打印文本的方式。它使用 64 个常见字符来承载原始字节,因此很适合在只支持文本的系统中传递图片、文件片段、接口数据或认证信息。

这个在线 Base64 转换器可以双向使用:既能把普通文本编码成 Base64,也能把 Base64 字符串解码回原文。它支持 UTF-8,因此中文、日文、emoji 等国际化文本也可以正确处理。

Base64 编码是怎么工作的

Base64 会把输入数据按 3 个字节一组处理。3 个字节共有 24 位,再拆成 4 组 6 位,每组映射到 Base64 字符表中的一个字符。

基本过程如下:

  1. 读取输入字节
  2. 每 24 位拆成四个 6 位数值
  3. 把 0 到 63 的数值映射为 Base64 字符
  4. 如果最后不足 3 个字节,用 = 做填充

Base64 字符表包含大写字母、小写字母、数字,以及 +/ 两个符号。末尾的 = 不是原文内容,而是为了让输出长度满足分组要求。

如何使用这个 Base64 转换器

文本转 Base64:输入普通文本,例如 Hello World,工具会输出 SGVsbG8gV29ybGQ=。这适合准备接口测试数据、生成示例载荷或检查编码结果。

Base64 转文本:粘贴 Base64 字符串,工具会尝试还原原始文本。如果输入包含中文或其他 Unicode 字符,也会按 UTF-8 正确解码。

自动识别:工具会根据输入内容判断更可能的转换方向,也可以手动切换模式以避免歧义。

Base64 编码示例

一些常见示例可以帮助理解 Base64 的输出形式:

有些结果末尾会出现一个或两个 =,表示最后一组字节需要补齐。

Base64 常见应用

Base64 经常出现在开发和数据传输场景中:

Base64 和其他编码方式的区别

Base64 与 Hex:Base64 通常只增加约三分之一体积,而十六进制会把每个字节表示成两个字符,体积约翻倍。需要十六进制时可使用 Hex 转换器

Base64 与 ASCII:ASCII 是字符编码表,表示字符对应的数值;Base64 是把任意字节包装成文本。查看字符编号可以使用 ASCII 转换器

Base64 与二进制:二进制直接显示 0 和 1,可读性低但最接近底层表示;Base64 更紧凑,适合文本系统传输。相关工具见 二进制转换器

编程语言中的 Base64

主流编程语言都内置 Base64 支持。JavaScript 可以使用 btoa()atob(),Python 可以使用 base64 模块,PHP 可以使用 base64_encode()base64_decode()

本页面适合在写代码前快速验证输入输出,或者在调试接口时确认某段字符串是否能正确解码。

使用 Base64 时要注意什么

Base64 不是加密。任何人都可以把 Base64 字符串解码回原文,因此不要用它保护敏感数据。

另外,Base64 会让数据体积变大。小图标、小片段或测试数据可以方便地编码,但大文件更适合保留为文件或二进制传输。

标准 Base64 中的 +/ 在 URL 里可能不方便使用。如果要放进 URL,通常应使用 Base64URL 变体,或进行额外转义。

常见问题

怎样把文本编码成 Base64?

把文本粘贴到输入框,工具会自动识别并转换为 Base64。你也可以手动选择“文本转 Base64”模式,然后复制输出结果。

怎样把 Base64 解码成文本?

把 Base64 字符串粘贴到输入框,工具会自动解码为可读文本。必要时可切换到“Base64 转文本”模式,明确指定解码方向。

Base64 编码通常用来做什么?

Base64 常用于在 JSON、邮件、HTML/CSS data URL、接口请求、Basic Authentication、JWT 载荷和配置文件中传递或保存二进制数据。

Base64 是加密吗?

不是。Base64 只是编码方式,任何人都可以解码。不要把它当作安全加密来保护密码、密钥或其他敏感信息。

这个 Base64 工具支持 Unicode 和 UTF-8 吗?

支持。它可以正确处理中文、日文、阿拉伯文、emoji 和其他 UTF-8 文本,不局限于英文字符。

我的数据会上传到服务器吗?

不会。编码和解码都在浏览器中完成,输入内容不会发送到服务器。

为什么 Base64 结果末尾会有 = 或 ==?

这是填充字符。Base64 每 3 个字节编码成 4 个字符,当输入长度不能被 3 整除时,就会用 = 补齐输出长度。

Base64 和 Base64URL 有什么区别?

标准 Base64 使用 + 和 /,在 URL 中可能需要转义;Base64URL 通常把它们替换为 - 和 _,有些实现还会省略末尾的 =。

Base64 编码后会变大多少?

通常会增加约三分之一体积。每 3 个字节会变成 4 个 Base64 字符,所以大文件不适合随意内联为 Base64。

JavaScript、Python 或 PHP 能处理 Base64 吗?

可以。JavaScript 有 btoa() 和 atob(),Python 有 base64 模块,PHP 有 base64_encode() 和 base64_decode()。本工具适合快速验证这些结果。

相关工具