书写URL时应用的是ASCII字符集,它是一种单字节字符的编码方案,一共收录了128个字符,用一个字节就能够存储,比方字符a用二进制就能够示意为01100001。128个并不多,所以如果URL中含有非ASCII字符集中的字符,就要对其编码。

除此之外,还须要对URL中的保留(reserved)字符和不平安(unsafe)字符进行编码。

所谓保留字符就是那些在URL中具备特定意义的字符,不平安字符是指那些在URL中没有非凡含意,但在URL所在的上下文中可能具备非凡意义的字符,比方双引号(“”)。

下图是一些保留字符和不平安字符示例:

编码时,应用的是%编码标准。具体阐明如下:

  • URL中的非保留字符和非不平安字符不进行编码。
  • URL中的保留字符和不平安字符,须要取其ASCII内码,而后加上%前缀,将该字符进行编码。
  • URL中的非ASCII字符,须要取其Unicode内码,而后加上%前缀,将该字符进行编码。