钓鱼 URL 与域名

URL 编码 / 解码器

本地运行

该工具本身是英文的;本页面将用您的语言对它进行说明。

使用 URL 编码 / 解码器

功能介绍

解码百分号编码的文本,例如隐藏在钓鱼链接中的跳转目标,或用 encodeURIComponent 或 encodeURI 对文本进行编码,以便在 URL 中使用。

它完全在您的浏览器中运行:您输入的任何内容都不会被上传。

如何使用URL 编码 / 解码器

  1. 粘贴文本. 粘贴经过编码的字符串,例如 url= 或 redirect= 参数的值,或你要编码的普通文本。
  2. 选择操作. 按 decode 把 %XX 序列还原为字符,按 encodeURIComponent 编码单个值,或按 encodeURI 编码整个地址。
  3. 查看输出. 结果显示在按钮下方的框中。Error 表示输入对该操作无效。
  4. 如有需要,再次解码. 每按一次 decode 去掉一层。如果仍能看到 %25、%3A 或 %2F,请把输出粘贴回框中再解码一次。
  5. 复制或转交. Copy 复制结果。Send to…(发送到…)会把它转交给 Link Unwrapper(链接解包器)、Multi-Layer Decoder(多层解码器)、URL Defanger(URL 无害化工具)或 Homoglyph Checker(同形字符检查器)。

示例

经过编码的跳转目标

输入
https%3A%2F%2Flogin.example.com%2Fverify%3Fuser%3Dalice%40example.com%26step%3D2
输出(捕获于2026-10-20)
https://login.example.com/verify?user=alice@example.com&step=2

Decode 得到 https://login.example.com/verify?user=alice@example.com&step=2。钓鱼链接常以这种方式携带收件人的电子邮件地址,以便虚假登录页面自动填入。

检查内容

信号其含义
解码结果每个 %XX 序列都会按 UTF-8 变为它所代表的字符。请留意其中是否有第二个完整地址、电子邮件地址或脚本。
输出中残留 %25%25 是经过编码的百分号。如果输出中仍含有 %3A、%2F 或 %25,原文很可能经过了两次编码,这是让人一眼看不出目标地址的常见手法。
Error(错误)遇到单独的 %、% 后跟非十六进制字符或不完整的 UTF-8 序列时,解码会失败。编码只会在代理对(surrogate pair)损坏时失败,这在粘贴的文本中很少见。
加号decode 会保留 + 不变。在表单风格的查询字符串中,+ 表示空格,因此请自行按空格理解。
encodeURIComponent 输出对除字母、数字和少数符号(连字符、下划线、点和波浪号)以外的所有字符进行编码,因此 : / ? & = # 和 @ 都会被编码。适用于单个参数值,例如电子邮件地址。
encodeURI 输出保留构成 URL 结构的字符,例如 : / ? & = # @,并对空格和非 ASCII 字母进行编码。
非 ASCII 字母编码时,每个非 ASCII 字母会被写成两到四个 %XX 字节。以这种方式隐藏的西里尔字母或带重音字母,只有在解码后才会显现。

更多示例

双重编码的跳转目标

输入
https%253A%252F%252Fexample.net%252Flogin
结果

decode 得到 https%3A%2F%2Fexample.net%2Flogin。再次解码该输出,得到 https://example.net/login。

作为单个参数值的电子邮件地址

输入
alice@example.com&next=/account
结果

encodeURIComponent 得到 alice%40example.com%26next%3D%2Faccount,因此 & 和 / 不会再拆分查询字符串。

带空格和重音字母的完整地址

输入
https://example.org/search?q=café & tea
结果

encodeURI 得到 https://example.org/search?q=caf%C3%A9%20&%20tea。& 被保留,因此 tea 会开始一个新参数;对于参数值,请改用 encodeURIComponent。

常见问题解答

三个按钮有什么区别?

encodeURIComponent 会转义除字母、数字和少数符号(如 - _ . ~)以外的所有字符,因此适合单个参数值。encodeURI 会保留 : / ? & = # 等 URL 结构字符,而 decode 则还原 %XX 序列。

为什么解码显示 Error,或留下了 %2F?

格式错误的序列(例如单独的 % 或被截断的 %E0%A4)会导致解码失败,工具会显示 Error。它每次运行只去掉一层,因此双重编码的文本(%252F)需要再解码一次或使用 Multi-Layer Decoder(多层解码器),而且 + 不会被转换为空格。

文本会被发送到任何地方吗?

不会。编码和解码使用本页面中浏览器的内置函数;不会上传任何内容,也不会打开任何链接。

钓鱼链接为什么要编码?

编码会把可读的地址藏在参数中,因此预览、过滤器或匆匆一瞥只能看到第一个主机。跳转服务和邮件扫描器在包装链接时也会对目标地址进行编码。

解码会改变文本中的其他内容吗?

不会。只有 %XX 序列会改变。字母和 + 号保持不变,HTML 实体也不会被转换。

如何解码整个包装链接,例如 Safe Links 地址?

使用 Link Unwrapper。它会找到承载目标地址的参数,并逐层解码。本工具一次性解码整个字符串,因此属于包装部分的内容也会被解码。

为什么带重音的字母或西里尔字母会变成多组 %XX?

ASCII 以外的字符会先写成 UTF-8 字节,然后每个字节单独编码。é 变为 %C3%A9,西里尔字母 а 变为 %D0%B0。

术语说明

PhishDestroy 研究