URL 编解码

关于此工具

URL 编码(也叫百分号编码)会把在 URL 中有特殊含义的字符——空格、&、? 以及各种非 ASCII 文本——替换为百分号加其字节值,从而让 URL 保持合法且无歧义。本工具可将文本编码为这种安全形式,也可把编码后的内容解码还原。 它按「组件」级别编码(相当于 encodeURIComponent),这正是单个查询参数值所需要的:&、= 和 ? 等字符会被转义,从而不会破坏外层 URL。所有处理都在浏览器中完成。 完整支持 Unicode 和 emoji——它们会被编码为 UTF-8 百分号序列,并能原样解码还原。

使用步骤

  1. 把文本或 URL 输入或粘贴到输入框。
  2. 点「编码」进行百分号编码,或点「解码」把 %XX 序列还原为字符。
  3. 把结果复制到你的链接、API 请求或代码中。

常见用途

  • 构造包含空格或符号的查询字符串
  • 排查含特殊字符的 API 请求为何失败
  • 读取编码后的跳转链接或追踪链接
  • 在链接中安全传递非 ASCII 文本

常见问题

什么时候需要 URL 编码?

只要把数据放进 URL(查询参数、路径或片段),空格、&、? 以及中文等非 ASCII 字符就必须进行百分号编码。

encodeURI 和 encodeURIComponent 有什么区别?

encodeURIComponent 会转义单个值中的 &、= 和 ?,而 encodeURI 会保留 URL 结构字符。本工具按组件编码。

支持 Unicode 和 emoji 吗?

支持。非 ASCII 字符会编码为 UTF-8 百分号序列,并能正确解码还原。

为什么空格有时变成 + 而不是 %20?

+ 这种写法来自表单提交使用的旧式表单编码格式。在 URL 的路径和查询里,空格的正确编码是 %20,也就是本工具输出的形式。

编码两次会有问题吗?

会。对已经编码过的字符串再次编码,会把每个 % 变成 %25,产生双重编码。不确定时请先解码一次。