Base64 与 URL 编码:何时该用哪种
2026-05-30
快速回答
快速回答: HTTP URL 中的查询/路径文本用 URL 编码;JSON 中的二进制数据、内联图片或类令牌字符串用 Base64;值必须出现在 URL 或文件名中且不能含 + 和 / 时用 URL 安全 Base64。
URL 编码(百分号编码)
最适合:搜索查询、表单字段、HTTP 中的人类可读文本。
工具:URL 编码器
Base64
最适合:嵌入小图片(data:image/png;base64,...)、在 JSON 中序列化二进制、邮件 MIME。
工具:Base64 编码器,可选 URL 安全模式。
URL 安全 Base64
将 + 替换为 -,/ 替换为 _,并去掉填充符 =。常见于 JWT 片段和部分 OAuth 参数——除非先做转换,否则不能与标准 Base64 解码器互换使用。
决策表
| 场景 | 选择 |
|---|---|
?q=hello world | URL 编码 |
| JSON 中的 PNG 字节 | Base64 |
| JWT 中间段 | Base64url(通过 JWT 工具解码) |
| HTML 属性文本 | HTML 实体 |
常见问题
可以把 Base64 放在查询字符串里吗?
使用 URL 安全 Base64;若字符串含 & 或 =,仍应再用 encodeURIComponent 包裹。
哪种体积更大?
Base64 会使数据增大约 33%;URL 编码仅对保留字符扩容。
Base64 是加密吗?
不是。它是编码——任何人都能解码。