URL编码解码工具

中文网址转码、GET参数转义,一键双向互转
返回云摆渡工具网
↓ 编码/解码结果 ↓

什么是URL编码?为什么需要URL转码?

URL编码(Percent-encoding,百分号编码)是一种将URL中不安全或特殊字符转换为%XX十六进制形式的机制。根据RFC 3986标准,URL中只允许字母、数字和少量保留字符出现,空格、中文、特殊符号都必须经过编码才能安全地在网络中传输。

例如,中文"工具"经过URL编码后会变成 %E5%B7%A5%E5%85%B7。当您在浏览器地址栏看到一长串%开头的字符时,那就是URL编码后的结果。GET请求的查询参数包含中文、空格或&、=等保留字符时,必须先编码,否则服务器解析参数会出错。

encodeURI 与 encodeURIComponent 的区别

函数用途不编码的字符
encodeURIComponent编码完整参数值A-Z a-z 0-9 - _ . ! ~ * ' ( )
encodeURI编码完整URL地址上述字符加上 : / ? # [ ] @ ! $ & ' ( ) * + , ; =

简单记忆:给整个网址编码用encodeURI,给单个参数值编码用encodeURIComponent。选错函数会导致URL结构字符(如://、&、?)被错误转义或参数被遗漏转义。

常见的URL编码字符对照

常见问题解答(FAQ)

Q: %20和+号都表示空格,有什么区别?
在URL路径和标准百分号编码中空格是%20;而在HTML表单的application/x-www-form-urlencoded提交中,空格被编码为+号。解码时应注意区分来源,避免误判。
Q: 解码后出现乱码怎么办?
乱码通常是编码与解码使用的字符集不一致导致的。本工具按UTF-8解码,如果原文是GBK编码的中文URL编码结果,请先确认来源编码。
Q: 二次编码是什么意思?
对已编码的字符串再次编码称为二次编码(double encoding),%会变成%25。如果解码一次后仍是一堆%字符,再解码一次即可还原。
Q: 编码后的链接能直接在浏览器打开吗?
可以。浏览器会自动处理URL编码,编码后的链接与原链接访问效果完全相同,编码只是传输层面的规范。
Q: 数据会经过服务器吗?
不会。编码解码全部在浏览器本地完成,包含token或敏感参数的URL可以放心处理。

💡 使用提示