URL 编码 / 解码

RFC 3986 百分号编码与表单编码。用于 URL 参数值,不是整条 URL。

这个工具能做什么

URL 编码(百分号编码)把 URL 中不允许直接出现的字符转成 % 加十六进制的形式:空格变成 %20,中文会先按 UTF-8 拆成字节再逐字节编码,所以“中”会变成 %E4%B8%AD。解码则把这个过程反过来。编码在浏览器本地完成,贴带参数的完整链接也没有隐私顾虑。

典型使用场景

拼带中文或特殊字符的分享链接、落地页参数、回调地址时,不编码的参数里的 &、=、空格会直接破坏 URL 结构。做 SEO 或数据分析时,解码一大串 %E4%B8%AD 形式的日志参数才能看懂用户到底搜了什么。调试接口 400 错误时,也常常是某个参数忘了编码。

注意事项

encodeURIComponent 和 encodeURI 不是一回事:前者把 / : ? & = 都编码,适合参数值;后者保留这些 URL 结构字符,适合编码整个地址。给参数值用了后者,值里的 & 还是会把参数截断。另一个经典坑是 query 里的 +:在表单编码规则里 + 表示空格,但标准 URL 里 + 就是加号本身,两端规则不一致时会多出或丢失空格。