Decodex

DECODEX · BASE64 · UTF-8

Base64与Base64URL的区别:字符、填充和解码示例

比较Base64与Base64URL的+ /和- _、填充省略规则,以及经过验证的UTF-8解码示例。

Base64URL与Base64表示相同字节,但更换两个字符以便用于URL。Decodex接受两种格式并显示UTF-8文本。可在转换工具中直接验证表格里的示例。

字符集有什么不同

Base64使用+和/,Base64URL使用-和_,字母和数字不变。末尾填充=是否省略是另一个规则,取决于协议。只含字母和数字的字符串无法仅凭字符区分两种格式。两者都不是加密。

为什么放入URL后数据会变化

在application/x-www-form-urlencoded中,+可能被解释为空格;/也可能与路径分隔符冲突。请使用URLSearchParams构造参数。如果+已经丢失,解码器无法可靠地还原。😀的Base64为8J+YgA==,Base64URL为8J-YgA==。

转换及验证步骤

先把字节编码为Base64,再把+换成-、/换成_。只有协议允许时才移除末尾的=。Decodex编码器生成标准带填充Base64,解码器也支持Base64URL。读取JWT片段不等于验证签名、有效期或权限,本工具不验证令牌。

转换此示例

格式文本Base64
Base64😀8J+YgA==
Base64URL😀8J-YgA==
Base64URL (JWT)😀8J-YgA

转换此示例 →

Base64 → UTF-8 · UTF-8 → Base64

常见问题

Base64URL一定不含=吗?

不是。请遵循接收系统的规则。无填充示例8J-YgA在Decodex中可解码为😀。

参考资料

更多Base64指南