URL 编码 / 解码

三种编码方式并排对比、query 参数可视化编辑、双重编码检测与多层还原。

输入
编码:同一段文本给出三种结果;解码:自动检测编码层数
0输入字符数
0UTF-8 字节数
0%XX 转义个数
encodeURI(保留 : / ? # 等结构符)
-
encodeURIComponent(连 : / ? # 都转义)
-
手写 percent-encode(RFC 3986 未保留字符白名单)
-
差异说明
encodeURI vs encodeURIComponent
-
encodeURIComponent vs 手写白名单
-

本地计算:只用浏览器内置的 encodeURI / encodeURIComponent / decodeURIComponent 与自写的 RFC 3986 白名单编码器,不请求任何外部地址。

用法要点:整段 URL 用 encodeURI(保住 :/?#),作为参数值插入的部分用 encodeURIComponent;路径段推荐 RFC 3986 白名单(保留 -._~ 且把空格编成 %20 而非 +)。

双重编码:出现 %25 通常意味着被编码了两次(例如 %25E4),本页会提示层数并可一键彻底还原;空格在不同实现里可能是 %20 或 +,decodeURIComponent 不会把 + 当空格。