跳转到主内容
coltool

Base64 在线编解码

严格进行 UTF-8 Base64 与 Base64URL 文本编解码,明确选择字符集和填充策略。

输入
结果
严格模式:解码时会忽略空白(换行、空格),但不会切换 Base64 变体或猜测填充策略;解码结果不是合法 UTF-8 时会停止。

严格、明确的 Base64 文本转换

工具使用 UTF-8 字节处理中文、emoji 和多语言文本,支持标准 Base64 与 Base64URL,以及标准填充和省略填充两种明确策略。它不会根据输入内容自动切换规则。

字符集怎么选?

  • 标准 Base64(+/):使用 +/。适合邮件 MIME、HTTP Basic Auth、Data URL,以及明确要求普通 Base64 的接口和配置文件。
  • Base64URL(-_):把 +/ 换成 -_,避免它们在 URL 查询参数、路径和文件名中产生转义或特殊含义。JWT 各段通常使用这种字符集。

这里的“字符集”只决定 Base64 结果使用哪套符号,不会改变原文编码;文本始终先转换为 UTF-8 字节。

填充策略怎么选?

  • 按需填充(=):不足 3 字节时保留末尾的一个或两个 =,适合标准 Base64 数据交换和要求完整四字符分组的系统。原始字节数能被 3 整除时仍然不会出现 =
  • 省略填充:删除末尾的 =,适合 JWT、短 Token,以及协议明确要求无填充 Base64URL 的场景。

常见组合是:普通数据传输选择“标准 Base64 + 按需填充”,JWT 或 URL Token 选择“Base64URL + 省略填充”。如果对接现有接口,应以接口协议为准;Base64URL 也可以带填充,标准 Base64 也可能被约定为无填充。

解码会验证字符集、长度、填充位置和末尾未使用位。任何不规范输入或无效 UTF-8 都会停止处理,不返回部分结果或乱码。

FAQ

标准 Base64 和 Base64URL 有什么区别?
标准 Base64 使用 + 和 /,Base64URL 使用 - 和 _,便于放入 URL 和 JWT。工具不会自动识别,请明确选择目标变体。
为什么编码结果末尾没有 = 号?
= 只是补位符,不是每个 Base64 结果都必须有。UTF-8 字节数能被 3 整除时不需要补位;余 1 个字节时末尾是 ==,余 2 个字节时末尾是 =。
会自动忽略换行或空格吗?
解码时会。MIME、PEM 等格式常把 Base64 折行,工具会先去除所有空白再解码;但除空白外的非法字符仍会直接报错,不做静默修正。
为什么有些 Base64 无法显示为文本?
Base64 可以承载任意二进制字节。当前版本只解码 UTF-8 文本;字节不是合法 UTF-8 时会报错,不会用替换字符制造看似可用的结果。
内容会上传吗?
不会。UTF-8 转换和 Base64 编解码全部在浏览器本地完成。