URL 编解码
URL 编解码与查询参数一键拆解,encodeURI / encodeURIComponent 双模式对比。
🔒 本地运行
输入49 字符 · 1 行
输出✔ 编码成功
https%3A%2F%2Fexample.com%2Fsearch%3Fkw%3D%E6%88%BF%E8%B4%B7%E8%AE%A1%E7%AE%97%E5%99%A8%26tag%3DJava%2FVue3
编码前后对照
| 项目 | 值 |
|---|---|
| 原始长度 | 49 字符 |
| UTF-8 字节 | 59 字节 |
| 结果长度 | 107 字符 |
| 体积变化 | 218.4% |
编解码常见问题
为什么中文 Base64 在有些工具上会乱码?
浏览器原生的 btoa() 只接受 Latin-1 字符。正确做法是先用 UTF-8 把字符串转成字节再编码,本工具用 TextEncoder 处理,因此中文、emoji 都不会乱码。
URL Safe Base64 和标准 Base64 差别在哪?
URL Safe 变体把 + 换成 -、/ 换成 _,并去掉结尾的 =,用于 JWT、URL 参数等场景,避免被再次转义。
encodeURI 和 encodeURIComponent 怎么选?
编码「整条 URL」用 encodeURI,它会保留 : / ? & = #;编码「单个参数值」必须用 encodeURIComponent,否则值里的 & 会把参数截断。
Base64 会让体积变大吗?
会。每 3 字节编成 4 个字符,体积约增大 33%。所以图片内联只适合小图标,大图仍应走 CDN。
本工具能做什么
URL 编解码与查询参数一键拆解,encodeURI / encodeURIComponent 双模式对比。
encodeURIComponent / encodeURI 双模式编码
解码时自动把 + 还原为空格
URL 结构拆解:协议 / 主机 / 路径 / Hash
查询参数逐项对照(原始值 + 解码后值)
中文参数一键还原
适用场景
- 开发调试时编解码转换
- 生成测试数据和唯一 ID
- 正则表达式快速验证
常见问题
encodeURI 和 encodeURIComponent 怎么选?
编码「整条 URL」用 encodeURI,它会保留 : / ? & = #;编码「单个参数值」必须用 encodeURIComponent,否则值里的 & 会把参数截断。
什么时候需要 URL 编码?
当 URL 中包含中文、空格、特殊符号时,需要编码后才能正确传输。
解码后还是乱码怎么办?
可能是被编码了两次(双重编码),把解码结果再解码一次即可。