0

解码结果

URL编码

编码结果

URL编码
空格

关于URL编码

URL编码是一种在 URL 中安全表示文本的编码方式。其正式名称是 URI 规范 RFC 3986 中定义的“百分号编码 (percent-encoding)”。

在 URL 中具有特殊含义的字符,或不适合直接放入 URL 的字符,会被转换为百分号 (%) 加两位十六进制数字的形式。

例如,半角空格表示为 %20,感叹号 (!) 表示为 %21,日文字符“あ”在 UTF-8 中表示为 %E3%81%82

URL编码会先使用所选字符编码将文本转换为字节序列,然后根据需要把每个字节表示为 %HH。在 DenCode 中,RFC 3986 的非保留字符,即字母数字以及 -._~ 不会被转换,其他字符会进行百分号编码。

字符URL编码后说明
AA字母数字是非保留字符,因此不会转换。
---._~ 是非保留字符,因此不会转换。
/%2F该字符用于分隔 URL 路径片段;作为值使用时需要编码。
?%3F表示查询字符串开始的保留字符。
&%26用于分隔查询参数的保留字符。
=%3D用于分隔查询参数名称和值的保留字符。
半角空格%20在 URL 的百分号编码中编码为 %20;在 application/x-www-form-urlencoded 中编码为 +
+%2B+ 本身作为值使用时,需要进行编码。
%E3%81%82在 UTF-8 中会编码为 3 个字节的序列。

例如,将“Hello, world!”进行 URL编码后如下。

Hello%2C%20world%21

在此示例中,逗号 (,) 转换为 %2C,半角空格转换为 %20,感叹号 (!) 转换为 %21

application/x-www-form-urlencoded 中的空格表示

在 HTML 表单提交等场景使用的 application/x-www-form-urlencoded 中,半角空格可以表示为 +。该格式在 HTML Standard 中定义为表单提交编码。

DenCode 在编码时可以选择将半角空格输出为 %20+

格式“Hello world”的转换结果用途
百分号编码Hello%20world适用于一般 URL 的格式。
application/x-www-form-urlencodedHello+world用于 HTML 表单的查询字符串和请求正文。