Base64URL 编解码
URL 安全的 Base64
输入数据
支持任意文本数据,包括中文和特殊字符
转换模式
Base64URL 特性
URL 安全
使用 - 和 _ 替代 + 和 /
无填充
默认去除结尾的 = 填充符
广泛应用
JWT、OAuth、文件名等场景
Base64 vs Base64URL
字符
Base64
Base64URL
加号
+-斜杠
/_填充
=可选
编码选项
URL 安全编码
Base64URL 专为 URL 安全设计,广泛用于 JWT Token、OAuth、文件名等场景,避免特殊字符冲突
💡 使用说明
什么是 Base64URL?
Base64URL 是 Base64 的一个变体,专为在 URL、文件名等场景中使用而设计。它使用 URL 安全的字符集,避免了 + 和 / 这些在 URL 中有特殊含义的字符。
为什么使用 Base64URL?
- URL 安全:可以直接用在 URL 参数中,无需额外编码
- 文件名友好:可以安全地用作文件名
- 更简洁:通常不使用填充符,字符串更短
- 标准化:RFC 4648 标准,广泛支持
应用场景
- JWT Token(JSON Web Token)
- OAuth 授权码和访问令牌
- URL 参数传递二进制数据
- 文件名或目录名
与标准 Base64 的区别
- + → -:将加号替换为连字符(减号)
- / → _:将斜杠替换为下划线
- = 可选:通常移除结尾的填充符 =
关于填充符
Base64 使用 = 作为填充符,确保编码后的长度是 4 的倍数。Base64URL 通常移除填充符,因为可以通过字符串长度推算出需要多少个填充符。解码时会自动补全填充。
JWT Token 示例
JWT Token 由三部分组成,每部分都使用 Base64URL 编码:
header.payload.signature
例如:eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U
注意事项
- Base64URL 编码的字符串可以直接用在 URL 中
- 解码时会自动处理填充符(有或无都可以)
- 标准 Base64 和 Base64URL 可以互相转换
- RFC 4648 第 5 节定义了 Base64URL 标准
转换结果
SldUIFRva2Vu
输入大小9 字节
输出大小12 字节
输入长度9
输出长度12
大小变化+3 字节
膨胀率1.33
字符分析
字母11
数字1
-0
_0
=0
URL安全✓
URL 安全性
可以安全地用在 URL 参数中
可以用作文件名或目录名
无需额外的 URL 编码
转换详情
原始文本
JWT Token↓ 编码
Base64URL 字符串
SldUIFRva2Vu