URL 编解码工具用来处理网址里的中文、空格和特殊符号。把要处理的网址或参数粘贴到上方输入框,选好 encodeURIComponent、encodeURI 或解码模式,点「开始转换」按钮,处理结果会显示在下方结果框里,直接取用即可。反过来,把编码过的字符串粘进输入框、切到解码模式再点「开始转换」,就能还原成可读文字,全程在当前浏览器里完成。
| 模式 | 不转义哪些字符 | 典型用途 |
|---|---|---|
encodeURIComponent |
仅 A-Z a-z 0-9 - _ . ! ~ * ' ( ) |
查询参数的值、路径片段。最常用 |
encodeURI |
上述字符 + ; , / ? : @ & = + $ # |
编码一整条 URL,保留其结构符号 |
decodeURIComponent |
— | 把 %E4%B8%AD 这类编码还原成原文 |
最常见的误用:用 encodeURI 去编码参数值。因为它不转义 & 和 =,参数值里含有这些符号时会破坏 URL 结构。参数值请一律使用 encodeURIComponent。
| 原字符 | 编码后 | 说明 |
|---|---|---|
| 空格 | %20 | 在查询串里也常被写成 +,但那是 application/x-www-form-urlencoded 的约定,不是 URL 标准本身 |
| 中 | %E4%B8%AD | UTF-8 三个字节,每个字节一个百分号 |
| & | %26 | 参数分隔符,出现在值里必须转义 |
| = | %3D | 键值分隔符,出现在值里必须转义 |
| ? | %3F | 查询串起始符 |
| # | %23 | 片段标识符,不发给服务器 |
| / | %2F | 路径分隔符;在参数值里转义可避免被当作路径 |
| + | %2B | 本身是合法字符,但表单编码中代表空格,容易混淆 |
%,或百分号后不是两位十六进制(如 %ZZ、%E4%B8 被截断)。本工具会捕获该错误并在下方提示,而不会让页面崩掉。%XX%XX%XX,即 9 个 ASCII 字符,长度约为原文的 3 倍。这也是查询串不宜塞入大段中文的原因。%20。+ 表示空格只适用于表单提交(application/x-www-form-urlencoded)。本工具输出 %20,这是更安全的选择。://、/、? 也转义掉,得到的字符串不再是可用链接。正确做法是只对参数值逐个编码。encodeURIComponent / decodeURIComponent 完成。编码是把普通文本转成浏览器和服务器都能安全传输的百分号形式,解码则是把这个形式还原成你原来输入的文字。方向选反了看到的就是乱码,按需切换即可。
前者会把问号、井号、斜杠这些也一起转掉,适合放在参数值里;后者保留这些分隔符,适合处理整条地址。拿不准时按用途选前者更稳妥。
不会。整个过程在你的浏览器里完成,页面不发请求,关掉标签页内容就没了,可以放心处理敏感链接。