开发者工具

URL 解码

将百分号编码的文本解码回可读字符。

给这个工具评分

如何使用 URL 解码

  1. 粘贴你的编码文本。
  2. 复制解码后的结果。

关于 URL 解码

解码会把 %20 还原成空格,把 %3D 还原成等号,让你能真正读懂一个链接、一个重定向参数或一条被记录的查询字符串。每个 %XX 对代表一个字节,而连续的字节随后会按 UTF-8 解释——这就是为什么 %C3%A9 这两个转义序列会还原成单个字符 é。

有一点局限性需要坦诚说明:本工具只解码百分号转义序列,不会+ 转换成空格。在查询字符串中,+ 这一惯例源自 HTML 表单编码,与百分号编码并存而非取代它,因此两者经常发生冲突。如果你的输入来自表单编码的内容,或者来自某个较旧的库构建的查询字符串,需要自行把 + 替换成空格——没有任何工具能可靠地判断哪些加号是字面意义上的加号,哪些代表空格。

格式错误的输入会得到明确的错误提示,而不是一个错误的结果:孤立的 %、不完整的转义序列(如 %A),或者不构成合法 UTF-8 的字节序列,都会被直接拒绝。粘贴整个 URL 也没问题——非转义字符会原样通过——不过要记住,解码后的 URL 可能会产生歧义,因为那些原本刻意编码的分隔符会重新变成真正的结构符号。使用 URL 编码工具进行反向编码,或用 URL 解析工具拆分地址。

常见问题

为什么 + 没有被解码成空格?

因为严格来说它本来就不是空格。在百分号编码中,空格是 %20;+ 这一惯例属于 HTML 表单编码,只适用于查询字符串和表单内容内部。+ 也可能是真正的加号,盲目解码会破坏真实数据。请在明确来源的情况下自行替换。

我可以粘贴一整个 URL 吗?

可以——任何不是百分号转义序列的内容都会原样通过,因此 URL 仍然可读。但要注意,输出结果可能不适合再次作为 URL 使用,因为那些在参数内部被刻意编码的分隔符会重新变回真正的分隔符。

为什么会出现"无效的百分号编码"提示?

输入中存在一个 % 后面没有跟两位合法的十六进制数字,或者这些转义序列组成的字节序列不是合法的 UTF-8。常见原因是复制粘贴被截断,或者普通文本中出现了孤立的 %。

我的文本解码后仍显示 %2520,这是什么?

这是双重编码的输入。%25 是 % 字符本身的转义序列,所以 %2520 会解码成 %20,再解码一次才会变成空格。请连续解码两次,然后找出是什么环节把该值编码了两遍。

我的 URL 会被发送到别处吗?

不会。解码在你的浏览器本地完成,内部链接、令牌和查询字符串都不会离开你的设备。