免费在线 URL 编码 & 解码工具
将文本编码为百分号编码URL,或解码 %20、%26 及任何 %XX 序列 — 直接在浏览器中处理。
编码参考示例
| 输入 | encodeURIComponent | encodeURI |
|---|---|---|
| hello world | hello%20world | hello%20world |
| name=John&age=30 | name%3DJohn%26age%3D30 | name=John&age=30 |
| https://example.com/path?q=hi | https%3A%2F%2Fexample.com%2Fpath%3Fq%3Dhi | https://example.com/path?q=hi |
| café résumé | caf%C3%A9%20r%C3%A9sum%C3%A9 | caf%C3%A9%20r%C3%A9sum%C3%A9 |
| price: $9.99 (sale!) | price%3A%20%249.99%20(sale!) | price%3A%20%249.99%20(sale!) |
什么是URL编码?
URL编码(又称百分号编码)将URL中不安全的字符转换为百分号后跟两个十六进制数字的形式。例如,空格变为%20,&符号变为%26,等号变为%3D。
浏览器和服务器需要此编码,因为URL只能包含有限的ASCII字符集。空格、重音字母、中文字符和特殊符号必须先编码才能包含在URL中。
encodeURIComponent 与 encodeURI 的区别
JavaScript提供两个用于URL编码的原生函数,选择哪个取决于编码内容。
encodeURIComponent()
用于查询字符串中的单个参数值。对除字母、数字和 - _ . ! ~ * ' ( ) 以外的所有内容进行编码。
encodeURI()
用于完整的URL字符串。保留 / : ? # & = @ 等结构字符,使URL保持有效。
URL编码的常见应用场景
百分号编码在现代Web开发和API中随处可见。
搜索和查询参数
在将用户搜索词附加到GET请求之前对其进行编码。
带动态值的API调用
REST和GraphQL API通常要求路径段或参数中的值进行编码。
OAuth和重定向URL
OAuth 2.0的redirect_uri参数必须完全编码。
非ASCII Slug
阿拉伯文、中文、日文或带重音拉丁字符页面的URL必须进行编码。
HTML GET表单提交
浏览器在将表单字段附加到action URL之前会对其进行编码,了解此编码有助于调试。
常见问题
隐私保护
所有编码和解码均在浏览器中通过原生JavaScript函数完成,您的文本不会发送到我们的服务器。