介绍
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 模式就是为整条链接准备的;如果只是处理其中一个值,组件模式更合适。
输入内容会上传到服务器吗?
不会。编码和解码逻辑都在浏览器本地执行。