URL 编码又叫百分号编码(Percent-Encoding),定义在 RFC 3986 中:把 URL 里不允许直接出现的字符先转成 UTF-8 字节,再把每个字节写成“%”加两位十六进制数,例如空格写成 %20,“中”写成 %E4%B8%AD。下面重点说明常见取值一览。
URL编码数值速查
| 输入 | 编码结果 |
|---|---|
| a+b=c | a%2Bb%3Dc |
| 2026-11-11 | 2026-11-11 |
| 你好,世界 | %E4%BD%A0%E5%A5%BD%EF%BC%8C%E4%B8%96%E7%95%8C |
| user@example.com | user%40example.com |
| https://www.123wen.cn/?q=测试 | https%3A%2F%2Fwww.123wen.cn%2F%3Fq%3D%E6%B5%8B%E8%AF%95 |
| <b>粗体</b> | %3Cb%3E%E7%B2%97%E4%BD%93%3C%2Fb%3E |
JavaScript 示例
下面是 JavaScript 中处理URL编码的常用写法:
encodeURIComponent("123问 a&b"); // "123%E9%97%AE%20a%26b"
encodeURI("https://x.com/a b?q=问"); // 保留 : / ? 等分隔符
const u = new URL("https://x.com/s");
u.searchParams.set("q", "测试"); // 自动编码(空格编码为 +)运行前确认输入的字符集(推荐 UTF-8),结果可以用本站工具交叉核对。
常见报错
- URIError: URI malformed(JS decodeURIComponent):字符串里有不完整的 % 序列,如“%E4%B8”
- 参数被截断:值里的“&”没有编码,被当成了参数分隔符
- 服务端收到乱码:两端字符集不一致(UTF-8 与 GBK)
- 签名校验失败:编码时空格用了“+”而规范要求 %20,或十六进制大小写不一致
本站的URL编码解码工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【URL 编码能防止 XSS 吗?】不能完全防止。URL 编码只解决网址格式问题,输出到网页时还需要做 HTML 转义。
【出现 %25 是怎么回事?】“%”被再次编码成了 %25,说明发生了重复编码。
【哪些字符不用编码?】字母、数字和 - _ . ~ 四个符号不用编码。
文中示例可以在本站对应工具中验证;处理密钥、证书等敏感数据时,请注意保护隐私。
版权声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。