这两个函数都是js中用来对uri进行编码的函数,区别在于处理的范围不同:
1、相同点:
ASCII字母、数字、-_.!~*'()
以上字符均不会进行编码
2、不同点:
;/?:@&=+$,#
encodeURI不编码
encodeURIComponent会编码
总结:encodeURIComponent编码的范围比较大
实际测试地址:https://www.bejson.com/enc/urlencode/
测试用例:
abc;/?:@&=+$,#-_.!~*'()
测试结果:
参考资料:
https://www.w3school.com.cn/js/jsref_encodeuri.asp
https://www.w3school.com.cn/js/jsref_encodeURIComponent.asp