URL 中只能安全出现 ASCII 字母、数字和少量符号,像空格、中文、& 这样的字符如果原样出现,会被浏览器或服务器误判为分隔符甚至直接报错,因此需要通过百分号编码(Percent-Encoding)转换成安全形式。
本工具基于浏览器原生的 encodeURIComponent / decodeURIComponent 提供双向转换:输入任意文本,编码后得到可安全拼接进 URL 的字符串;粘贴已编码的字符串,解码还原出原文,整个过程无需联网。
encodeURI 用于编码整个 URL,会保留 : / ? & = 等 URL 结构字符不转义;encodeURIComponent 用于编码 URL 中的某一段参数值,连 : / ? & = 也会一并编码,本工具采用后者。
两者都存在:RFC 3986 标准的百分号编码把空格转成 %20(encodeURIComponent 采用此规则);而 application/x-www-form-urlencoded 表单编码习惯把空格转成 +,两者不可混用。
中文先按 UTF-8 编码为字节,再对每个字节做百分号编码,一个汉字通常占 3 字节,编码后变成 9 个字符,例如"中"会被编码为 %E4%B8%AD。
当编码后的字符串会作为另一个 URL 的参数整体传递时(如短链接跳转、redirect 重定向参数),需要二次编码防止歧义;若发现解码结果里还残留 % 开头的片段,说明需要再解码一次。