URL 编码又叫百分号编码(Percent-Encoding),定义在 RFC 3986 中:把 URL 里不允许直接出现的字符先转成 UTF-8 字节,再把每个字节写成“%”加两位十六进制数,例如空格写成 %20,“中”写成 %E4%B8%AD。下面重点说明需要注意的符号。
URL编码特殊字符处理
常见特殊字符的编码:空格 %20、! %21、# %23、$ %24、% %25、& %26、+ %2B、, %2C、/ %2F、: %3A、; %3B、= %3D、? %3F、@ %40。
示例
输入:2026-11-11
编码结果:2026-11-11
说明:按 RFC 3986 编码,空格为 %20,中文按 UTF-8。
中文的处理
中文 URL 编码按 UTF-8:“中”→ %E4%B8%AD,“文”→ %E6%96%87。浏览器地址栏会把编码后的中文显示成原文,但实际发送的是编码后的形式。
常见报错
- URIError: URI malformed(JS decodeURIComponent):字符串里有不完整的 % 序列,如“%E4%B8”
- 参数被截断:值里的“&”没有编码,被当成了参数分隔符
- 服务端收到乱码:两端字符集不一致(UTF-8 与 GBK)
- 签名校验失败:编码时空格用了“+”而规范要求 %20,或十六进制大小写不一致
本站的URL编码解码工具可以直接处理,计算在浏览器本地完成,适合快速核对结果。
常见问题
【URL 编码能防止 XSS 吗?】不能完全防止。URL 编码只解决网址格式问题,输出到网页时还需要做 HTML 转义。
【出现 %25 是怎么回事?】“%”被再次编码成了 %25,说明发生了重复编码。
【哪些字符不用编码?】字母、数字和 - _ . ~ 四个符号不用编码。
文中示例可以在本站对应工具中验证;处理密码、证件号等敏感数据时,请注意保护隐私。