Base64编码/解码工具

在线转换中文、英文和 emoji 文本,支持标准 Base64 与 Base64URL 编码解码、复制和 TXT 导出。

工具资源加载中...

Base64 编码解码工具介绍

小K工具的 Base64 在线编码解码工具可以将中文、英文、标点、emoji 等 UTF-8 文本转换成 Base64 字符串,也可以把有效的 Base64 还原成原文。支持标准 Base64 和 URL 安全 Base64,转换逻辑在当前浏览器中执行,无需上传待处理文本。

编码时会保留原文中的空格、制表符和换行。解码会检查字符、长度、填充符、末尾填充位和 UTF-8 内容,遇到异常会显示具体原因,方便排查接口参数或配置文本。

UTF-8 文本互转

支持中文、多语言和 emoji;字符统计将一对有效的 Unicode 代理项计为一个字符,空白也参与计数。

两种 Base64 格式

标准编码使用 +、/ 和末尾 =;URL 安全编码使用 -、_ 并移除 =,解码自动兼容两种字符集。

复制、导出与反向处理

转换后可复制结果、导出 TXT,或将结果回填输入并切换处理方向,方便继续验证。

怎样进行 Base64 编码或解码?

  1. 选择“Base64 编码”或“Base64 解码”,将原文或 Base64 字符串粘贴到输入框。
  2. 编码时根据接收方要求选择格式。需要 Base64URL 时勾选“URL 安全编码”;解码不需要选择格式。
  3. 点击“开始编码”或“开始解码”,查看结果和字符数。错误提示会说明格式或字符编码问题。
  4. 使用“复制结果”或“导出 TXT”保存内容。需要验证还原结果时,点击“结果回填并切换方向”,再点击转换按钮。

“加载示例”会按当前模式填入普通文本或相应的 Base64 内容,并立即进行转换。“清空”移除输入、结果和错误;修改输入或选项后,旧结果也会收起,避免误用。

Base64 转换示例

将 Hello, 小K! 以 UTF-8 编码,标准 Base64 结果为 SGVsbG8sIOWwj0sh,再解码可以还原同一段文本。

单独编码字母 f 时,标准结果为 Zg==,URL 安全结果为 Zg。两者在解码时均得到 f。这也说明末尾的 = 是填充符,并非原文内容。

对于包含特殊字节的 UTF-8 文本,例如 emoji 😀,标准编码是 8J+YgA==,URL 安全编码是 8J-YgA。URL 安全格式是否适用于某个接口,应以对方协议为准。

在线 Base64 转换适合哪些场景?

  • 接口调试:检查请求或响应中的 Base64 文本字段,核对编码前后的内容。
  • 配置排查:将确认采用 UTF-8 的 Base64 配置值还原为文本,检查空格、换行和标点。
  • 文本传输:按协议生成标准 Base64 或无填充的 Base64URL 参数,并复制到其他系统中使用。
  • 学习验证:通过短文本、中文和 emoji 的往返转换,观察字符数与 Base64 长度的差异。

Base64 解码规则与限制

解码只忽略 ASCII 空白,包括普通空格、制表符、换行、回车、垂直制表符和换页符;全角空格等其他字符会报错。省略末尾填充符的合法内容可以自动补齐,但已经填写的 = 必须位置和数量正确。有效编码字符数除以 4 的余数为 1,或末尾存在非零填充位时,也会拒绝解码。

本工具仅处理 UTF-8 文本,不处理图片、二进制文件、GBK 等其他字符编码,也不会自动去除 data:...;base64, 前缀或解析 JWT 的多个分段。需要解码文本片段时,请先确认其内容及编码方式。长文本转换受浏览器内存和性能影响。

Base64 是可逆编码,不是加密,也不提供保密性。不要把编码结果当作保护密码、令牌或隐私数据的安全措施。

如果需要处理网址、查询参数中的百分号编码,例如将中文转换为 %E4%B8%AD%E6%96%87,可使用 URL 编码/解码工具。

Base64 编码解码常见问答

为什么普通文本编码后变长了?

Base64 用 4 个编码字符表示最多 3 个原始字节,标准编码长度为原始字节数向上按 3 分组后乘以 4。中文和 emoji 的 UTF-8 字节数通常大于一个,因此不能直接用页面的字符数推算编码长度。

标准 Base64 和 URL 安全 Base64 能直接互换吗?

两者通过替换 +、/ 为 -、_ 改变字符集,本工具的 URL 安全编码还会省略末尾 =。解码自动兼容,但接收系统可能对格式或填充有固定要求,发送时应使用对方要求的形式。

为什么提示末尾填充位不规范?

末尾不足 3 个字节时,Base64 的最后一个有效字符包含必须为零的补足位。例如 Zg== 是 f 的规范编码,Zh== 的尾部位不正确。本工具会拒绝这类内容,避免把损坏的编码当成有效结果。

Base64 格式正确,为什么仍然不能解码?

Base64 可以表示任意字节,而本工具只输出 UTF-8 文本。如果原始内容是图片、压缩包、GBK 文本或损坏的 UTF-8 字节,就会提示不是有效的 UTF-8 文本。

只输入空格可以编码吗?

可以,编码会保留空格和换行;完全没有内容时会提示先输入文本。解码时 ASCII 空白会被忽略,所以只输入这类空白不会生成结果。