在为了防止乱码的情况下,有时我们会采用使用js 加密或解密中文字符串 下面总结下js 常用到加密解密常用的东东
encodeURI()和encodeURIComponent()方法是将编码传递给浏览器的URI(统一资源标识).有效的URI不包括某些字符,如空格,#,$等.这两个函数将那些特殊字符替换仅为utf-8的编码,让浏览器接收它们.而decodeURI()和decodeURIComponent()是对编码后的解码.
encodeURI()和encodeURIComponent()的区别是:前一个是不会将字符串中出现的特殊字符编码,如:冒号,前斜杠,问号,英镑符号.而后面的encodeURIComponent()则对字符串中所有的非标准字符进行编码
举例说明:
var str ="http://www.baidu.cn/tool/color 123.htm";
var str1 = encodeURI(str);
var str2 = encodeURIComponent(str);
结果
str1 http://www.baidu.cn/tool/color%20123.htm
str2 http%3A%2F%2Fwww.baidu.cn%2Ftool%2Fcolor%20123.htm
而decodeURI()和decodeURIComponent()是对编码后的解码.也就是对上面加密的解密,真好相反
举例
str3 = decodeURI(str1);
str4 = decodeURIComponent(str2);
解密出来就是 str http://www.baidu.cn/tool/color 123.htm
还有需要说明的一点是如果js在解码的时候提示无效的编码时记得在后台加密的时候设值一下编码。