url encode 类似%E8格式的编码

url encode是一种url编码算法,把所有字符转义到ASCII码的集合。

为什么需要url encode?
有两个主要原因:

1.防止歧义
  url通常使用&来进行参数链接,用=来进行参数配对,例如name=jery&age=21,
  即name=jery,age=21。
  如果遇到参数本身就是特殊字符,就会造成歧义,name=je&r=y&age=21,
  本意是name=je&r=y,age=21,但是会被解析为name=je,r=y,age=21。
  因此,可以把参数中的特殊字符进行转义,&对应%26,=对应%3D,
  就变成name=je%26r%3Dy&age=21。
2.RFC对url的规范
  RFC3986文档规定,Url中只允许包含英文字母(a-zA-Z)、数字(0-9)、-_.~4个特殊字符以及所有保留字符。
  保留字符包括!$&’()*+,;=等,用于参数分割、协议标示、路径等等。
  其他字符,比如汉字、特殊符号等,都需要进行转义,且要在RFC规定范围内。
  而RFC规定的字符集合,也就是url encode编码的转义范围,%后跟2个字符的英文字母或数字。

再引用一段文字:
URL Encoding
URLs can only be sent over the Internet using the ASCII character-set.

Since URLs often contain characters outside the ASCII set, the URL has to be converted into a valid ASCII format.

URL encoding replaces unsafe ASCII characters with a “%” followed by two hexadecimal digits.
URLs cannot contain spaces. URL encoding normally replaces a space with a plus (+) sign or with %20.

参考地址 http://www.w3schools.com/tags/ref_urlencode.asp

其他人写的好帖 http://www.ruanyifeng.com/blog/2010/02/url_encoding.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值