URLENCODE与RAWURLENCODE

℡╲_俬逩灬. 提交于 2019-12-03 02:50:20

我一直不能理解,为什么urlencode与标准的RFC文档有出入,所以对这个函数的用法一直心存疑虑。最近终于抽时间去检查了下stackoverflow上面对这个问题的解释,大概弄清楚了。

首先,对比一下两个函数的不同:

1)不予转义的字符:urlencode(_-.)共三个,rawurlencode(-_.~)共四个,可见多了一个波浪线,前者会把波浪线转换为%7E。

2)特殊转义的字符:urlencode会把空格转换为+,rawurlencode则不会。

urlencode其实是post表单是用的编码方法,也是application/x-www-form-urlencoded 的编码方法。对于URL的编码,更好的方法是符合RFC3986标准的rawurlencode,这也是js中的URIENCODE方法采用的标准。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!