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 |
常见问题
Base64URL一定不含=吗?
不是。请遵循接收系统的规则。无填充示例8J-YgA在Decodex中可解码为😀。
