URL 编解码
URL 结构解析
Query 参数拆解 (自动解码)
组件编码 vs 完整 URI:
· encodeURIComponent: 编码所有特殊字符,适合编码查询参数值
· encodeURI: 保留 URL 结构字符 (: / ? # 等),适合编码完整 URL
· encodeURIComponent: 编码所有特殊字符,适合编码查询参数值
· encodeURI: 保留 URL 结构字符 (: / ? # 等),适合编码完整 URL
Query 参数 ↔ JSON 互转
抓包调试必备:将 URL 中的 Query 字符串(如 a=1&b=test)一键转为结构化 JSON,或将 JSON 对象转为 URL 编码后的 Query 字符串。
URL 编解码的常见使用场景
- API 接口签名 (Signature):在对接微信、支付宝等第三方 API 时,通常需要将 Query 参数按字典序排序并拼接,此时必须使用标准的 URL 编码规则。
- 前端路由传参:在 Vue/React 的 Hash 路由或 Query 传参中,如果参数包含 JSON 字符串或特殊符号,必须先进行 encodeURIComponent 编码,防止 URL 结构被破坏。
- 抓包与日志分析:服务端日志或 Charles/Fiddler 抓包看到的 URL 通常是百分号编码的,使用本工具的“URL 解析”功能可一键将参数还原为明文,方便排查 Bug。
各编程语言 URL 编解码代码速查表
| 语言 | 编码 (Encode) | 解码 (Decode) |
|---|---|---|
| JavaScript | encodeURIComponent(str) |
decodeURIComponent(str) |
| Python | urllib.parse.quote(str) |
urllib.parse.unquote(str) |
| Java | URLEncoder.encode(str, "UTF-8") |
URLDecoder.decode(str, "UTF-8") |
| Go | url.QueryEscape(str) |
url.QueryUnescape(str) |
| PHP | urlencode($str) |
urldecode($str) |
相关开发工具推荐
常见问题
URL 编解码工具安全吗?数据会上传服务器吗?
完全安全。所有 URL 编码和解码都在你的浏览器本地完成,输入的 URL 或文本不会上传到任何服务器,也不会被记录。
encodeURIComponent 和 encodeURI 有什么区别?
encodeURIComponent(组件编码)会编码几乎所有特殊字符(包括 : / ? # & 等),适合编码查询参数的值;encodeURI(完整 URI 编码)会保留 URL 结构字符,适合对整个 URL 进行编码而不破坏其结构。
空格在 URL 中应该被编码为 + 还是 %20?
在标准的 URL Path 中,空格应被编码为 %20。但在 Query 参数(application/x-www-form-urlencoded 规范)中,空格通常被编码为 +。本工具的 Query 转 JSON 功能兼容这两种格式的解析。
如何解析 URL 的各个组成部分?
在输入框中粘贴完整 URL,点击「解析 URL」按钮,工具会自动拆解出协议、主机名、端口、路径、查询参数和 Hash 等各个部分,并自动将 Query 参数拆解为可视化的 Key-Value 表格。