URL 百分号编解码

使用百分号编码对 URL 中的特殊字符进行编码或解码。构建查询字符串、API 请求和安全链接的必备工具。

此转换仅在您的浏览器中运行,不会上传任何内容。

空格变为 %20(不是 +)。默认是查询值用的组件模式;完整 URI 会保留保留字符。

  • 输入0
  • 输出0
  • 选项组件 (encodeURIComponent)

输入

输出

这个工具是什么?

对 URL 文本做百分号编解码,使空格、Unicode 和保留字符能安全出现在查询、路径、重定向参数和 API 调用中。

组件encodeURIComponent,默认)用于单个值;完整 URIencodeURI)保留 :, /, ?, &。输入即更新,仅在浏览器中运行。

百分号编码不是加密。

常见用途

  • 编码含空格、&= 的查询参数值
  • 准备或检查放进 ?redirect= 的嵌套 URL
  • 把百分号编码的日志或 API 错误还原为可读文本

如何使用

  1. 选择 Encode 或 Decode;输入时结果实时更新。
  2. 查询/路径值保持关闭完整 URI(组件模式);仅在处理整段 URL 时打开。
  3. 粘贴文本或编码字符串。用 Sample 对比两种模式。
  4. 复制结果。解码失败时检查 %ZZ、单独的 % 或截断的 UTF-8。

encodeURI vs encodeURIComponent

输入组件 (encodeURIComponent)完整 URI (encodeURI)
a b&c=1a%20b%26c%3D1a%20b&c=1
https://ex.com/a?b=1https%3A%2F%2Fex.com%2Fa%3Fb%3D1https://ex.com/a?b=1
a+b=ca%2Bb%3Dca+b=c

把值放进查询或路径时用组件;输入已是完整 URL 且需保留分隔符时用完整 URI。

示例

输入 / 设置输出说明
hello world → 组件编码hello%20world空格 → %20
a b&c=1 → 组件a%20b%26c%3D1为单个值编码 &=
a b&c=1 → 完整 URIa%20b&c=1保留保留标点,空格仍为 %20
hello+world → 组件解码hello+world此处 + 是字面量,不是表单空格

实践中的常见误区

  • 用组件模式编码整段重定向 URL 会把 /? 变成 %2F / %3F
  • application/x-www-form-urlencoded+ 当空格;decodeURIComponent 不会。URL 组件请用 %20
  • 编码不是访问控制——查询里的秘密仍可能出现在日志和 Referer 中。

参考资料

最后审阅: 2026-07-26

常见问题

组件模式和完整 URI 模式有何区别?
组件模式使用 encodeURIComponent,会编码 &, =, ?, / 等保留字符。完整 URI 模式使用 encodeURI,保留这些分隔符, 只转义不安全字符。
为什么空格是 %20 而不是 +?
本工具遵循百分号编码(encodeURIComponent)。用 + 表示空格是 application/x-www-form-urlencoded 表单规则。 字面量 + 在组件模式下会变成 %2B。
解码失败常见原因是什么?
畸形百分号序列(如 %ZZ)、单独的 %,或不完整的 UTF-8 字节。请检查转义或粘贴完整编码值。
数据会上传到服务器吗?
不会。编解码仅在浏览器中运行。