URL 编码 / 解码

URL 编码解码,区分整串与参数两种语义

浏览器内运算URL Encoder & Decoder工具型03编码与加密

什么是URL 编码 / 解码

URL 编码工具把字符串转换为百分号编码,并区分两种语义:编码整个 URL 时保留 : / ? & 等结构字符,编码单个查询参数值时则把它们一并转义。两种模式都在浏览器内完成。

怎么用URL 编码 / 解码

  1. 1输入需要处理的 URL 或参数值。
  2. 2选择模式:整串编码(encodeURI)或参数编码(encodeURIComponent)。
  3. 3切换到解码方向可还原百分号编码。
  4. 4结果中若出现 %25,说明原文已经被编码过一次,注意避免重复编码。

在代码里怎么实现?

一次性操作用上面的工具,重复性工作建议固化到脚本或项目里。

// 整个 URL:保留 : / ? & = # 等结构字符
encodeURI('https://a.com/搜索?q=你好');

// 单个参数值:连 & = 也一起转义
encodeURIComponent('a&b=c');

常见错误与排查

现象成因修复
参数值里的 & 把一个参数拆成了两个用 encodeURI 编码了参数值,& 没有被转义。参数值必须用 encodeURIComponent 编码。
解码后出现 %2520 这样的残留原文被编码了两次(双重编码)。连续解码两次,并在代码里检查是否重复调用了编码函数。

常见问题

encodeURI 和 encodeURIComponent 该用哪个?+

拼接完整 URL 时用 encodeURI,它会保留 : / ? & = # 这些结构字符;把值放进查询参数或路径片段时用 encodeURIComponent,它会把结构字符也转义,避免值里的 & 破坏参数结构。

空格该编码成 %20 还是 +?+

URL 路径与查询字符串中标准写法是 %20;application/x-www-form-urlencoded 的表单提交里空格是 +。两者不通用,把表单风格的 + 直接放进路径会被当作加号字面量。

相关工具

全部工具