URL 编解码

URL 编码与解码,支持组件与完整地址两种模式。输入即时转换,可处理 + 与空格,全程本地完成,数据不上传。

转换方向
转换模式

「组件」会转义 = & ? 等所有保留字符,适合参数值;「完整地址」保留 URL 结构字符,适合整条网址。

使用说明

  1. 在顶部选择方向:「编码」把中文、空格与特殊字符转成 %XX 形式;「解码」把 %XX 还原为可读文本。
  2. 选择转换模式:「组件」按 encodeURIComponent / decodeURIComponent 处理,适合单个参数值;「完整地址」按 encodeURI / decodeURI 处理,会保留 :// ? & = 等 URL 结构字符。
  3. 在输入框中输入或粘贴内容,转换实时进行,无需点击按钮。
  4. 解码时默认把 + 还原为空格(表单查询串的惯例);若 + 本身就是加号,取消勾选即可。
  5. 遇到无效的 % 转义序列会原样保留并给出提示,不会让整段转换失败;结果可一键复制。

常见问题

「组件」和「完整地址」有什么区别?
组件模式把 ? & = / : 等保留字符也全部转义,用于编码某个参数的取值;完整地址模式只转义空格、中文等不安全字符,保留 URL 的结构,用于编码整条网址。选错模式常导致 & 被错误转义或参数边界丢失。
为什么有的 + 解码后变成了空格?
在 HTML 表单与查询字符串的惯例里,+ 代表空格。本工具默认把它还原为空格;如果您的数据里 + 就是加号本身(例如 Base64),取消勾选「解码时把 + 还原为空格」即可。
无效的 % 序列会怎样处理?
解码时遇到 % 后不是两位十六进制(例如 100% 或 %ZZ),该处会按原文保留,其余部分正常解码,同时给出黄色提示说明保留了几处,避免整段文本解码失败。
内容会被上传吗?
不会。编码与解码全部由浏览器本地脚本完成,输入内容不会离开当前设备,可放心处理带令牌或隐私参数的链接。

使用步骤

  1. 选择编码或解码方向

    顶部方向芯片默认「编码」,把中文、空格与特殊字符转成 %XX 序列。点「解码」则把百分号编码还原为可读文本。

  2. 按对象选择转换模式

    编码单个参数值选「组件」模式,= & ? 等保留字符也会转义。处理完整地址选「完整地址」模式,结构字符保持原样。

  3. 输入内容实时转换

    在输入框键入或粘贴内容,结果随输入实时更新,无需点击任何按钮,直接从下方输出区复制即可。

  4. 处理加号与非法序列

    解码时默认把 + 还原为空格,加号是字面字符(如 Base64)时请取消勾选。非法 % 序列会原样保留并以黄色提示,不会导致整次转换失败。

工具详细介绍

URL 只允许出现有限的字符集。中文、空格以及 & = ? 这类保留字符必须先转成 %XX 百分号编码,才能放进链接。本工具按 encodeURIComponent 与 encodeURI 两种规则双向转换。组件模式连保留字符一起转义,完整地址模式保留 URL 骨架。转换随输入实时完成。

适合调试带中文或特殊字符参数的接口链接,修复转义后失效的回调地址。构造含空格文件名的下载链接时也用得上。日志里成串的 %E4%BD%A0 也能还原成可读文字。全部转换在浏览器本地完成,携带令牌的私密链接也可以放心粘贴。

原理与背景

百分号编码的规则写在 RFC 3986 里:字母、数字与 - _ . ~ 四个符号属于非保留字符,可以原样出现在链接里。其余字符一律写成 %XX 字节序列,编码按字节进行,不按字符进行。两个内置函数的差异在保留字符上。encodeURI 只转义 URL 骨架之外的字符;encodeURIComponent 连 = & ? 这些定界符一起转义。本工具的两种模式对应这两套规则。UTF-8 中一个汉字占三个字节,「你」编码后就是占九个字符的 %E4%BD%A0。链接一长,这种膨胀就非常明显。

加号是一处历史遗留。HTML 表单默认的 application/x-www-form-urlencoded 编码把空格写成加号。RFC 3986 只把加号当作普通的子保留字符,两者因此冲突。所以解码键值查询串时,应把 + 还原为空格。加号只有在表单编码的查询串里才代表空格,其他位置都按普通字符处理。解码 Base64、HMAC 签名这类字面含加号的数据时,必须取消勾选加号转空格,否则还原出的字节就是错的。遇到 %ZZ 这类非法序列,本工具原样保留并给出黄色提示,不让整段转换失败。保留非法序列只为方便排查,这类结果先修复再用。

典型使用场景

  1. 对比两套系统的编码差异

    前端按组件模式、后端按完整地址规则处理同一个值时,两边的转义结果并不相同。把两边各贴进来转换一次,立刻看出差异出在哪个字符上。

  2. 排查埋点参数被提前截断

    埋点地址里未编码的 & 会提前终结参数列表,后面的统计字段全部悄悄丢失。把参数值编码后再拼进链接,看板数据立刻恢复正常。

  3. 拆解多层跳转的追踪链接

    营销链接经过多轮跳转层层编码,到达落地页时参数早已面目全非。逐段解码就能看清每一跳加进了什么参数,判断是谁动了这条链接。

使用技巧

  • 解码表单查询串时保留默认的加号转空格;处理 Base64 前务必取消勾选。
  • 整段地址不要用组件模式,否则 & 与 = 被转义后参数边界就丢失了。
  • 结果中的 %2F 代表斜杠,需要拆分路径时先解码相应段落再处理。

注意事项

  • 解到语义正确即止

    解码可以重复执行,但不是越多越好:结果里仍有百分号说明还有一层。已经是可读文本就停手,反复解码可能把形似转义序列的内容误拆。

  • 非法序列保留不等于正确

    黄色提示说明 % 后面的字符并不构成合法转义,工具原样保留只是为了便于排查。把这种结果直接用于跳转仍会出错,先修复来源数据再用。

  • 中文字符集要对齐 UTF-8

    同一个汉字在 UTF-8 与 GBK 下的字节不同,编码结果也不同。本工具按 UTF-8 处理,遇到 GBK 来源的旧序列,先对齐字符集再比对。

相关工具