encodeURI和encodeURIComponent函数是把字符串作为url进行编码的函数
两者的区别:
- encodeURI:在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的: / ? : @ & = + $ #(可使用encodeURIComponent进行编码)
- encodeURIComponent:该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ’ ( )
例如:
var a="YR9+vMNNxTRiLzD9YgiIrQ=="
var b=encodeURIComponent(a);
var c=encodeURI(a);
console.log(b);//输出结果:YR9%2BvMNNxTRiLzD9YgiIrQ%3D%3D
console.log(c);//输出结果:YR9+vMNNxTRiLzD9YgiIrQ==
因为入过坑,在此谨记