URL

URL 编码/解码

对比百分号编码并控制解码层数

编码转换
🔒 100% 本地运行 — 你的数据不会离开当前页面
由 Evan 维护•最近更新:2026年9月29日
选项模式
输入
自动:URL 编码

粘贴文本,对比两种编码结果或还原百分号编码。Auto 根据 %XX 判断方向;高级模式可控制解码层数与 + 的含义。

输出
结果将显示在这里
页面阅读模式

完整说明还包括常见问题处理、操作示例、代码片段、FAQ 和相关工具,便于核对结果或排查问题。

工具说明

对照会转义 URL 分隔符的 encodeURIComponent 与保留分隔符的 encodeURI。解码模式使用 decodeURIComponent,可执行单次或最多四次嵌套解码。默认开启多层解码及表单式 + 转空格,均可在高级模式修改。结果随输入更新;解码模式会报告错误百分号转义或无效 UTF-8。输入与选项保存为本地草稿,清空可移除。

推荐工作流

失败门诊(高频踩坑)

解码后的文本看起来多出了查询参数

原因:整串解码会把值内的 %26、%3D 还原成可见的 &、=,此时文本已经不能保留原参数边界。

修复:把原始编码 URL 交给 URL 解析器查看参数行,不要再拆分完全解码后的文本。

生产可用片段

把目标 URL 放进一个查询参数值

text

输入:https://example.com/a?x=1&y=2

encodeURIComponent:
https%3A%2F%2Fexample.com%2Fa%3Fx%3D1%26y%3D2

放入参数的示例:
https://app.example.com/go?next=https%3A%2F%2Fexample.com%2Fa%3Fx%3D1%26y%3D2

encodeURI 会保留目标地址中的 : / ? = & 结构字符。

场景配方

01

逐层检查百分号编码

目标:判断当前层的 %252F 应还原为编码斜杠,还是应保留字面的 %2F。

  1. 选择“解码”,打开高级模式,关闭多层自动解码。
  2. 输入 %252F,一次得到 %2F;将该结果单独输入,才会得到 /。
  3. 若 + 表示字面加号,关闭“按表单编码处理 + 为空格”;只有输入采用表单加号编码时才开启。

结果:由你确定解码停止在哪一层。开启多层解码时最多执行四次,+ 选项会在每一层应用。

常见问题

Auto 能准确区分原文和编码输入吗?

Auto 根据是否存在 %XX 转义来判断。字面文本 %20 因此会被当成编码内容,而单独的 + 不会触发解码。判断不符合用途时,请明确选择编码或解码。

encodeURI 会替完整 URL 内的参数值自动编码吗?

不会。它会保留 &、=、# 等分隔符,无论这些字符出现在何处。参数值内部需要包含这些字符时,应先单独编码该值,再拼接 URL。

为什么解码 % 或 %E4 会报错?

单独的百分号不是完整转义,%E4 也不是完整 UTF-8 序列。解码要求有效的百分号 UTF-8 编码,不会修复字节或猜测旧字符集。

百分号编码能加密内容吗?

不能。它只改变字符和字节的表示,任何人都能解码,不提供保密或签名能力。

继续浏览