URL 编码和解码

按标准组件规则为查询字符串做百分号编码:空格变为 %20,保留字符被转义,支持 UTF-8 文本。

输出
输入文本即可查看结果。

需要了解的要点

本页直接套用浏览器对 URL 单个部分所用的组件编码。字母、数字以及 - _ . ! ~ * ' ( ) 这些符号保持原样,其余所有字符都会按 UTF-8 字节转成大写十六进制的百分号编码。

构成 URL 结构的字符也在其中。斜杠、问号、与号、等号、井号、冒号、@、逗号、分号、美元符号和加号全部被转义,所以“韩国 & a/b?c=d e+f”会变成 %ED%95%9C%EA%B5%AD%20%26%20a%2Fb%3Fc%3Dd%20e%2Bf。这正适合单个参数值,却不适合整个地址。

如果粘贴 https://a.com/p?q=한 글&x=1,结果是 https%3A%2F%2Fa.com%2Fp%3Fq%3D%ED%95%9C%20%EA%B8%80%26x%3D1,它已经不能当链接使用。请只编码参数值,再自己放到等号后面。

空格会变成 %20,而不是加号。服务器接受查询字符串里的 %20,而加号只有表单式解析才会当作空格,所以真正的加号必须写成 %2B。表情占 4 个字节,😀 得到 %F0%9F%98%80,如果只剩表情代理对的一半,输出会显示输入无效的提示。

本页只做编码。要还原百分号编码的字符串,请到主文本编码器页面选择 URL 解码。

按任务选择工具 1
相关工具 4
URL 编码和解码使用方法
  1. 把单个参数值(比如“韩国 & a/b”)粘贴到文本输入框。
  2. 读取输出:得到 %ED%95%9C%EA%B5%AD%20%26%20a%2Fb,可以直接接在查询字符串的 q= 后面。
  3. 在复制的值前面自己输入 https://example.com/search?q=,拼出最终地址。
  4. 在无痕窗口中打开链接,确认服务器按预期解析。

快速说明

为什么空格是 %20 而不是加号?

标准的组件规则把空格转义为所有服务器都懂的 %20。加号只有在表单式解析中才表示空格,所以真正的加号会被编码成 %2B。

哪些字符不会被编码?

字母、数字以及 - _ . ! ~ * ' ( ) 这些符号。包括斜杠、冒号、与号在内的其余字符都会被转义。

可以在这里编码完整的网址吗?

可以,但斜杠、冒号和问号也会被转义,所以结果只是可嵌入另一个网址里的值,而不是可直接使用的地址。

汉字在编码后是什么样的字节形式?

每个汉字占 3 个字节,所以一个字会变成 %ED%95%9C 这样的 9 个字符,四个字就是 36 个字符的百分号编码。