encodeuricomponent VS encodeuri

之因此对url进行编码是由于有些字符有特殊的含义。
当URI被做为参数进行传输或排版或受到文字处理程序的处理时,重要的空格可能会消失而且可能引入可有可无的空格。
在查询字符串中,&符号(&)用做键值对之间的分隔符。 若是将&符号放入其中一个值中,它看起来就像值的结尾和下一个键的开头之间的分隔符。
所以对于像这样的特殊字符,咱们使用百分比编码,以便咱们能够确保数据是明确编码的。
注意:而中文须要进行两次编码https://segmentfault.com/q/10...html

encodeURIComponent

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。专属url的特殊字符,这些字符指的是除数字字母之外的字符,例如: // / & # 。若是某个url做为参数传给服务器,这时,服务器是没法识别的。这个时候,能够用encodeURIComponent方法对这个url进行编码。小程序

encodeURI

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。segmentfault

注意

若是 URI 组件中含有分隔符,好比 ? 和 #,则应当使用 encodeURIComponent() 方法分别对各组件进行编码。也就是说,encodeURI对全角日韩汉字起做用。对URL中的特殊字符不作处理,encodeURIComponent()对url中的特殊字符作出来,将他们转化成对应的ASCII码
在小程序中的H5经过wx.navigateTo等函数把url做为参数时,就须要把url进行编码
附图
图片描述
参考:
http://www.w3school.com.cn/js...
http://www.w3school.com.cn/js...
https://www.cnblogs.com/shuiy...服务器

相关文章
相关标签/搜索