URL 在线编码 / 解码工具

把网址参数或中文文本进行百分号编码(encodeURIComponent),也可将 %E5 之类的编码还原,支持完整网址模式,本地运行即时转换。

URL 编解码

什么是 URL 编码?

URL 编码(百分号编码,Percent-encoding)将网址中的非 ASCII 字符(如中文、空格)和保留字符转换为 % 加两位十六进制的形式,例如空格变为 %20、“工”变为 %E5%B7%A5,以保证参数在地址栏中安全传输。

encodeURI 与 encodeURIComponent 的区别

处理查询参数的键和值时使用 encodeURIComponent(会编码 : / ? & = 等,最常用);当整个网址结构完整、只想处理其中的中文等字符时使用 encodeURI(保留网址结构字符)。解码统一使用 decodeURIComponent 即可兼容两者。

为什么需要 URL 编码

URL 规范只允许出现一部分 ASCII 字符(字母、数字以及少数保留符号)。像中文、空格、和 &、=、?、# 这类在 URL 中有特殊含义的字符,都必须转成百分号编码(percent-encoding),例如空格会变成 %20,中文"工具"会变成 %E5%B7%A5%E5%85%B7。不做编码直接拼接,轻则参数被截断,重则请求被服务器拒绝。

什么是 double encoding

如果对一个已经编码过的字符串再次编码,% 会被编码成 %25,导致还原后多出一层百分号,这就是"双重编码"。它常出现在中间件重复调用编码函数、或多层转发各编码一次的场景中,排查时表现为参数值明显变长且带有大量 %25。遇到这种情况,对本工具的输出再执行一次解码即可还原。

适用场景

  • 拼接带中文的查询参数:如搜索关键词、带空格的城市名。
  • 排查接口 400 错误:参数被截断时,先解码看看服务端实际收到了什么。
  • 构造分享链接:把标题等文本作为参数拼进 URL 时避免特殊字符破坏结构。

使用步骤

  1. 输入或粘贴待处理的文本 / URL。
  2. 点击编码得到百分号编码,点击解码还原原始文本。
  3. 复制结果直接用于请求或链接。

注意事项

  • 编码与解码是互逆操作,但不能对已解码的明文反复解码,否则可能出现非法序列。本工具会在失败时给出提示。
  • URL 中不同位置对保留字符的要求不同(路径段与查询串的规则略有差异),本工具采用通用编码策略,覆盖绝大多数使用场景。
  • 若你的参数需要放进查询串,编码后仍建议用 & 与 = 组装,而不是把这些分隔符也编码掉。

常见问题 FAQ

为什么空格有时是 %20,有时是 +?

两者都对。%20 是标准的百分号编码;+ 是 application/x-www-form-urlencoded 形式的历史约定,主要出现在表单提交的编码规则中。本工具使用标准的 %20,兼容性最好。

解码后中文显示不正常?

说明原始字节并非 UTF-8 编码,可能是 GBK 等其他编码,需要先按对应编码还原字节后再转为文本。

整个带参数的 URL 能一起编码吗?

可以,但那样会把 :// ? & = 也一并编码,适合作为另一个参数值内嵌使用;若只是想修复参数里的中文,请只编码参数值本身。

会上传我的 URL 吗?

不会,编解码全部在浏览器本地完成。

相关在线工具