| 参数名 | 值 |
|---|
单值编解码
处理单个值:中文、空格、特殊符号在 URL 里该怎么写
编码时会转义中文、空格、& = # ? 等在 URL 中有特殊含义的字符;斜杠与冒号一般保留原样。
整串解析和单值编解码是两件事
整串丢进来,页面会拆出协议、主机、路径和参数个数,下面列出参数表格;每一行的键和值都能直接改,改完上方会实时重拼出一个新 URL,右侧有复制按钮。
只需要给某个值做百分号编码(比如把「张三」或一段 JSON 塞进查询参数),用单值编解码那一栏,它走的是原生 encodeURIComponent / decodeURIComponent,编完还会反解验证一次,确保能原样还原。
只粘一段查询串时会发生什么
只粘 a=1&b=2 这种片段时,浏览器内置的 URL 构造器要求一个完整的地址,所以页面会临时补一个占位域名 https://example.com 来解析。
重拼时不会把这个占位域名带回去 —— 输出的仍然是你那串参数和路径,不会出现莫名其妙的 example.com。这一点是特意处理的,不然复制出去的地址直接就错了。
重复参数不会被合并掉
同一个键出现多次(比如 ?tag=a&tag=b)在 HTTP 里是完全合法的,很多后端靠它传数组。参数表格会按出现顺序把这些值都列出来,而不是只留最后一个。
新增参数也在这里做:点一下加一行,填键值,上方立刻重拼。重拼时会按标准规则做百分号转义,不需要你手工把中文转成 %XX。
为什么不提供「整条 URL 一键编码」
因为那是个陷阱。encodeURIComponent 会把 : 和 / 也编成 %3A %2F,编完的字符串已经不再是能点开的 URL 了;而只编码参数值才是正确做法 —— 域名和路径结构必须保留原样。
所以本页把两个动作分开:解析看结构,单值编解码处理值。要的就是不让「一键编码」把一条好地址变成废串。
带 token 的链接也能放心解析
解析全程用浏览器内置的 URL 与 URLSearchParams,没有任何网络请求,链接不会离开你的电脑,也不会因为是 https:// 就真的去访问它 —— 页面从头到尾不发起请求。
所以把带 access_token、签名、回调地址的链接粘进来拆参数,比发给任何一个在线服务都安全。
边界
解析失败只会提示「这不是一个能识别的 URL」而不会瞎猜;锚点(# 之后的部分)不作为查询参数处理,需要的话请自己先把片段取出来。
本页不做批量处理,也不校验链接是否可访问 —— 那是请求的事,本页一次请求都不发。
常见问题
粘贴查询串后为什么出现了 example.com?
浏览器解析 URL 需要完整地址,所以临时补了占位域名。重拼输出时不会带上它,复制出去的是你原本的参数串。
同名参数会被覆盖吗?
不会。?tag=a&tag=b 这类重复参数按出现顺序全部保留,后端常靠它传数组,合并掉反而会丢数据。
能把整个链接一次性编码吗?
不建议也不提供。那样会把 : 和 / 一起编掉,结果不再是可用 URL。正确做法是只编码参数值,本页的单值编码就是干这个的。
解析链接会真的去访问它吗?
不会。全程只用浏览器内置对象做字符串解析,不发任何请求,带 token 的链接也可以安全粘贴。