encodeURI(UriString):'参数UriString必传'
可以把字符串作为URI组件进行编码;
返回值是:UriString副本, 其中某些字符串将被十六进制的转义序列化进行转换。
该方法不会转义的内容如下:
(1.)ASCII字母和数字。
(2.)~!@#$&*()_-+=:;',.? 备注:顺序根据键盘上的顺序
encodeURICompone(UriString):'参数UriString必传'
可以把字符串作为URI组件进行编码;
返回值是:UriString副本, 其中某些字符串将被十六进制的转义序列化进行转换。
该方法不会转义的内容如下:
(1.)ASCII字母和数字。
(2.)~!*()_-', 备注:顺序根据键盘上的顺序
二者的共同点与区别
1.无论是哪种转码, 都不会对ASCII字母和数字进行转码。
2.无论是哪种转码, 都不会对~!*()_-',进行转码。
3.这两种编码形式对中的编码结果是一样的
为什么要进行uri转码
1.符合uri的规范, 在标准的uri规范中,中文字符以及其他字符是不允许出现在uri中的。
2.在不同浏览器中,可能并没有遵循uri的编码规范,导致中文会乱码。
3.get方式提交,浏览器会对url编码, 然后发送给服务器,可能会出现gbk对应着utf-8