在地址URL传输过程中常常需要对中文,特殊符号等进行编码,常用到的编码方式有escape()、encodeURI()、encodeURIComponent()
这三者的区别在Tyler‘s Blog的
escape()、encodeURI()、encodeURIComponent()区别详解
一文中有详细的阐述,本人只在这里记录一下个人的使用心得
首先escape()使用限制较多,转码也不完全,使用易出BUG,一般不提倡使用该方法进行编码
而encodeURI()是较常用的编码方法,但是,在遇到&、+、%时会将其编码,造成数据传递错误
根本原因是
encodeURI是用于对URI进行编码的,它不能编码这些字符:;/?:@&=+$,#
所以在遇到上传文件,或局部有该类特殊符号时,可以使用encodeURIComponent()进行编码