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 → 输出 107
编码前后对照
项目值
原始长度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 中包含中文、空格、特殊符号时,需要编码后才能正确传输。

解码后还是乱码怎么办?

可能是被编码了两次(双重编码),把解码结果再解码一次即可。

⚠️
免责声明
  • 本工具为纯前端实现,输入内容仅在你的浏览器本地处理,不上传、不存储于服务器。
  • 结果仅供开发调试参考。对于超长文本、特殊编码、非标准格式或极端边界输入,可能存在解析偏差或精度损失。
  • 请勿在本工具中处理生产环境密钥、个人敏感信息或涉密数据。因浏览器插件、剪贴板、共享设备等本站无法控制的环节导致的泄露,本站不承担责任。
  • 重要数据请自行备份并二次校验,勿将本工具输出直接用于生产环境。
  • 在法律允许的范围内,本站不对因使用或依赖本工具输出结果而产生的任何直接或间接损失承担责任。继续使用即表示你已理解并接受本声明。
发现结果有误?欢迎 反馈给我们,我们会尽快核实修正 · 详见 《隐私声明》