URL编码器/解码器

输入文本或URL编码的字符串,选择转换方向,即可立即获得编码或解码的结果。

最后更新: September 5, 2026

常见问题

URL编码的作用是什么?

把在URL中不安全的字符(空格、&、?、#等)转换为百分号加上其十六进制代码——例如,空格变为%20——这样文本就能安全地包含在URL中,比如搜索查询或参数值。

为什么空格会变成%20而不是加号(+)?

两者在实践中都会被使用:%20是URL中任何位置空格的标准百分号编码,而+仅在URL查询字符串(表单编码数据)中特指「空格」,这是来自HTML表单的传统惯例。这个工具使用更为通用正确的编码%20。

如果我尝试解码实际上未编码的文本会怎样?

没有任何%序列的纯文本会原样解码回自身,因为没有需要转换的内容——只有当文本包含不完整或无效的%序列时(例如%后面没有跟两个有效的十六进制数字),解码才会失败。

这和JavaScript中的encodeURIComponent()是一回事吗?

是的——编码正是使用了这个函数,它是安全编码单个值(如查询参数)以便在URL中使用的标准方式,与用于编码整个URL并保留/和:等字符不变的encodeURI()相对。

&字符编码后会变成什么?

%26——由于&在URL中有特殊含义(用于分隔查询参数),当它作为字面数据出现而不是实际的参数分隔符时,需要被百分号编码为%26。

如果我对一个已经完全有效的URL进行编码,比如https://example.com,会破坏它吗?

编码是针对单个值(比如一个搜索查询)设计的,而不是整个URL——把完整的URL放入这个工具的编码模式,也会把URL自身的斜杠和冒号一并转换(:变成%3A,/变成%2F),从而破坏其作为可点击链接的形式。只应对参数值本身进行编码,而不是周围的URL结构。

我可以解码同时包含%20和+表示空格的URL吗?

这个工具的解码模式会把%XX格式的百分号序列转换回原始字符,但查询字符串中字面的+号是另一种代表空格的旧式惯例,单靠百分号解码无法处理它——如果你的输入混合了这两种惯例,可能需要在解码前后手动把+替换成空格。

计算