编码非扩展ascii字符的百分比,如扩展字符

时间:2015-05-27 05:40:37

标签: encode urlencode url-encoding unicode-escapes percent-encoding

如果我们对char“€”进行百分比编码,那么我们将得到%E2%82%AC。 OK!

我的问题:

a =%61
我已经知道了。

是否可以将“a”编码为%XX%XX或%XX%XX%XX? 如果是,浏览器和服务器是否会将结果理解为char“a”?

1 个答案:

答案 0 :(得分:0)

  

如果我们对char“€”进行百分比编码,那么我们将得到%E2%82%AC。

是Unicode代码点U+20AC EURO SIGN。字节序列0xE2 0x82 0xAC是U + 20AC以UTF-8编码的方式。 %E2%82%AC是这些字节的URL编码。

  

a =%61
  我已经知道了。

对于ASCII字符a,即Unicode代码点U+0061 LATIN SMALL LETTER A,这是正确的。它在UTF-8(以及大多数其他字符集)中编码为字节0x61,因此可以在URL中编码为%61

  

是否可以将“a”编码为%XX%XX或%XX%XX%XX?

是。 任何字符都可以使用URL中的百分比编码进行编码。只需在相应的字符集中对字符进行编码,然后对结果字节进行百分比编码。但是,大多数ASCII非保留字符不需要这样的编码,只需按原样使用它们。

  

如果是,浏览器和服务器是否会将结果理解为char“a”?

在网址和类似网址的内容编码中(例如application/x-www-webform-urlencoded),是的。