关于js编码转换的问题有3种方法: escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。解码:unescape() encodeURI() 函数可把字符串作为 URI 进行编码。 解码:decodeURI() encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。解码:decodeURIComponent()
共同点: 这三个函数均采用unicode字符集。
不同点: escape是将字符的unicode编码转化为16进制序列(转义序列,转义序列(escape sequences)),其不编码字符有69个:,+,-,.,/,@,_,0-9,a-z,A-Z。 encodeURI是将字符的unicode编码通过UTF-8来表示,其不编码字符有82个:!,#,$,&,',(,),,+,,,-,.,/,:,;,=,?,@,,~,0-9,a-z,A-Z。 encodeURIComponent也是将字符的unicode编码通过UTF-8来表示,其与encodeURI的唯一区别就是它们不编码的字符有所差别,encodeURIComponent不编码的字符有71个:!, ',(,),*,-,.,,~,0-9,a-z,A-Z。