URL编解码
1.1、URL的定义
1.2、为什么需要对URL进行编码
1.3、URL编码规范

URL编码的最新规范是:RFC3986

1.4、URL编码的原理

RFC3986给出的URL编码规则如下:

  • 字符'a' ~ 'z''A' ~ 'Z''0' ~ '9'.*-_都不被重新编码,维持原值。
  • 空格' '被转换为加号+
  • 其他每个字节都被表示成%xy格式的由3个字符组成的字符串,xy编码与Base16完全一样。

注意:有些字符可以不进行编码的,比如!~,所以,RFC3986描述的URL编码规则有一些建议性的东西,不是一个确定的算法。所以,千万不要用URL编码之后的字符串做是否相等的比较,因为,你如果不能确切的知道, 你所使用的URL编码的库对哪些字符进行了编码的话,很有可能出现不想等的情况。

1.5、URL编解码在各种语言中的实现

URL编码不是一个确定性的编码,所以,在使用各种语言自带的库中的URL编码的时候要特别注意: 您使用的URL编码方法到底对哪些字符做了编码,对哪些字符没有做编码。

1.6、URL编码在线验证工具

http://tool.chinaz.com/tools/urlencode.aspx