介绍

URL 编码/解码工具适合开发者、测试人员和内容团队在浏览器里安全地转换 URL 相关文本。你可以对查询参数、路径片段、完整链接和表单值进行编码,也可以把已有的百分号编码内容还原出来,用于排查接口、日志或链接问题。

使用方法

先选择自动、编码或解码模式,再根据场景选择策略:组件适合查询值和独立文本,完整 URL 适合整条链接,表单值适合 application/x-www-form-urlencoded 内容。粘贴输入内容后,可按需启用逐行处理,然后复制、交换或下载结果。

功能特点

  • 支持 URL 组件、完整链接和表单值的编码与解码
  • 自动模式会根据百分号编码特征判断处理方向
  • 分别覆盖 encodeURIComponent、encodeURI 和表单值场景
  • 支持逐行批量处理
  • 支持将百分号转义统一为大写格式
  • 提供复制、交换和下载操作
  • 全部在浏览器本地处理,不上传服务器

什么时候用组件模式,什么时候用完整 URL 模式

如果你处理的是单独一个值,例如搜索词、标签、路径片段或文件名,应该优先用组件模式。它会把 &=/ 这类分隔符也编码掉,更适合放进查询参数或动态路由片段中。

如果你已经拿到一整条链接,只是想在不破坏结构的前提下处理空格、Unicode 或特殊字符,就用完整 URL 模式。这样 https:///?&# 这些结构字符还能保持可读。

查询字符串与表单值的区别

查询参数常见的是百分号编码,而传统 HTML 表单提交使用的是 application/x-www-form-urlencoded,其中空格会被写成 +。这点差异很重要。如果你用错误策略去解码表单值,结果里可能会残留加号,看起来就像解码失败。

常见误区

一个常见错误是拿 encodeURIComponent 去编码整条 URL,结果虽然合法,但整条链接会变得不便阅读和复用。另一个常见问题是把带有普通 % 的纯文本直接拿去解码,比如 100% 完成。自动模式能帮忙判断,但如果你已经知道上下文,仍然建议手动选择正确策略。

隐私与安全边界

URL 编码只是格式转换,不是安全加密。它不能隐藏密钥、令牌、密码或个人信息。这个工具会在你的浏览器本地处理输入,对隐私更友好,但敏感数据仍然不应随意出现在日志、截图或工单中。

编码策略选择表

根据字符串类型选择更合适的编码方式。

策略会编码什么典型用途
组件会编码 &, =, /, ? 等分隔符查询参数值、路径片段、文件名、动态文本
完整 URL保留 URL 结构字符的可读性整条链接中只处理空格、Unicode 和不安全字符
表单值把空格写成加号HTML 表单负载与传统 query-string 风格值

常见 URL 编码误区

这些情况经常导致结果看起来不对,但问题其实出在策略选择。

场景更好的选择原因
把整条 URL 当组件编码改用完整 URL 模式整条链接会变得难读且不便复用
解码表单数据时忽略 +改用表单值模式加号通常应该还原为空格
对包含普通 % 的纯文本强行解码改用编码或自动模式不是每个百分号都代表转义序列
把编码后的密钥当成安全保护使用真正的密钥管理编码不等于加密

常见问题

encodeURI 和 encodeURIComponent 有什么区别?

encodeURIComponent 适合单个值,会把 & 和 / 这类分隔符也编码掉;encodeURI 适合整条 URL,会保留结构字符的可读性。

为什么表单模式里加号会变成空格?

传统表单编码会用加号表示空格。表单值模式会在编码和解码两边都遵循这个约定。

URL 编码等于加密吗?

不等于。URL 编码只是把文本改写成更适合传输的格式,任何人都可以还原。

可以直接粘贴完整 URL 吗?

可以。完整 URL 模式就是为整条链接准备的;如果只是处理其中一个值,组件模式更合适。

输入内容会上传到服务器吗?

不会。编码和解码逻辑都在浏览器本地执行。