我们经常看到%20等类似百分号+数字的形式出现在url中。
url规范中规定url中只能使用asc码的一个子集来表示。所在在url中的一些字符需要编码。
需要编码的字符:
1. asc码控制字符,这些字符无法打印在屏幕上。
2. 非asc码字符。
3. 一些保留字符,如“&”用来分隔参数。
4. 不安全的字符,如空格,这些空格可能被忽略,然后又是必要的。
如何编码这些字符?
用百分号加上两位16进制字符,这个两位16进制表示此字符的code point(这个字符在编码表中的位置), 如ASCII comprises 128 code points in the range 0hex to 7Fhex .
详细请参考:
http://www.blooberry.com/indexdot/html/topics/urlencoding.htm
http://www.blooberry.com/indexdot/html/tagpages/text.htm
http://en.wikipedia.org/wiki/Code_point