URL 编解码
关于此工具
URL 编码(也叫百分号编码)会把在 URL 中有特殊含义的字符——空格、&、? 以及各种非 ASCII 文本——替换为百分号加其字节值,从而让 URL 保持合法且无歧义。本工具可将文本编码为这种安全形式,也可把编码后的内容解码还原。
它按「组件」级别编码(相当于 encodeURIComponent),这正是单个查询参数值所需要的:&、= 和 ? 等字符会被转义,从而不会破坏外层 URL。所有处理都在浏览器中完成。
完整支持 Unicode 和 emoji——它们会被编码为 UTF-8 百分号序列,并能原样解码还原。
使用步骤
- 把文本或 URL 输入或粘贴到输入框。
- 点「编码」进行百分号编码,或点「解码」把 %XX 序列还原为字符。
- 把结果复制到你的链接、API 请求或代码中。
常见用途
- 构造包含空格或符号的查询字符串
- 排查含特殊字符的 API 请求为何失败
- 读取编码后的跳转链接或追踪链接
- 在链接中安全传递非 ASCII 文本
常见问题
什么时候需要 URL 编码?
只要把数据放进 URL(查询参数、路径或片段),空格、&、? 以及中文等非 ASCII 字符就必须进行百分号编码。
encodeURI 和 encodeURIComponent 有什么区别?
encodeURIComponent 会转义单个值中的 &、= 和 ?,而 encodeURI 会保留 URL 结构字符。本工具按组件编码。
支持 Unicode 和 emoji 吗?
支持。非 ASCII 字符会编码为 UTF-8 百分号序列,并能正确解码还原。
为什么空格有时变成 + 而不是 %20?
+ 这种写法来自表单提交使用的旧式表单编码格式。在 URL 的路径和查询里,空格的正确编码是 %20,也就是本工具输出的形式。
编码两次会有问题吗?
会。对已经编码过的字符串再次编码,会把每个 % 变成 %25,产生双重编码。不确定时请先解码一次。