对字符串做 URL 编码(百分号编码)和解码,编码规则有 5 种可选。链接参数里带中文、空格、&、= 时不编码就会被截断或解析错,拼接接口地址、构造跳转链接、写 Content-Disposition 文件名时都要用到它。
工具界面在页面加载完成后显示在本段下方,可以直接使用。所有计算都在你的浏览器本地完成,输入的内容不会上传到服务器。
对字符串做 URL 编码(百分号编码)和解码,编码规则有 5 种可选。链接参数里带中文、空格、&、= 时不编码就会被截断或解析错,拼接接口地址、构造跳转链接、写 Content-Disposition 文件名时都要用到它。
输入:
在线工具&page=1
输出:
%E5%9C%A8%E7%BA%BF%E5%B7%A5%E5%85%B7%26page%3D1
URIComponent 模式:中文转成 UTF-8 百分号编码,& 和 = 也一起编码,避免被当成参数分隔符
多半是参数里的中文或特殊字符没编码,被截断或二次转义了。只把参数值单独做 URL 编码再拼进链接,通常就好了。
%20 是标准的百分号编码,+ 是 application/x-www-form-urlencoded(表单提交)里的写法。查询字符串里两者多数服务端都认,路径部分只能用 %20。
它是 HTTP 头部里 Content-Disposition 文件名的编码方式,比百分号编码宽松:| ` ^ 这三个字符会还原成原文,下载文件名里带中文时用它可以少一层转义。
会得到双重编码,比如第一次的 %E4%B8%AD 再编一次变成 %25E4%25B8%25AD。解码也要对应解两次,混用是最常见的参数乱码来源。
不会。编码和解码都在你的浏览器里用内置的 encodeURIComponent / decodeURIComponent 完成,文本不离开本机,也不记录历史。