关于 URL 编码 / 解码
URL 只能包含有限的字符集,因此空格、重音以及 &、?、= 等符号必须进行百分号编码(空格变成 %20)才能在网址中安全传输。本工具把文本编码成该形式,并解码还原为可读内容。开发者经常用它处理查询字符串的值、重定向和回调 URL、API 参数,以及解码一个已编码的链接以查看它实际包含什么。
工作原理
编码 提供两种范围:
- 组件(默认用法)编码一个放在 URL 内部的单个值——它会转义
&、=、?、/、#、+等,因此该值不会破坏 URL 的结构。查询字符串参数就用这个。 - 完整 URL 保留赋予 URL 结构的字符(
:、/、?、&、#),因此你可以编码整个地址而不破坏它。
解码 把 %XX 序列还原为字符,并把 + 变成空格,与表单提交编码空格的方式一致。无效的百分号序列会被标记。
假设与行为
- 组件模式是安全的默认值,用于编码你要插入 URL 的值;完整 URL 模式用于编码完整地址。
- 解码把
+当作空格,遵循 HTML 表单提交和许多查询字符串所用的application/x-www-form-urlencoded约定。 - 编码基于 UTF-8,因此带重音和非拉丁字符会编码为正确的多字节百分号序列。
局限
- 两种编码范围不可互换。 完整 URL 模式让
&、=、?、/和#保持不转义,因此在包含这些字符的值上使用它会破坏 URL——值请用组件模式。 - 解码时
+→ 空格的规则 是表单编码约定。在本意为字面+(已编码为%2B)的情形下没问题,但本意为字面的原始+会被变成空格。 - 它编码文本;不校验结果是否为格式正确的 URL,也不校验该地址是否存在。
- 格式错误的百分号编码(如孤立的
%或%ZZ)在解码时会被报告为错误。
隐私
编码和解码完全在你的浏览器中运行。你的文本绝不会被上传或存储。

