base64编码主要用在传输,存储表示二进制的领域,还可以进行加密和解密。其实就是字符串的编码和解码
btoa与atob
只能加密ascii,不能加密汉字。
var str = 'I LOVE YOU'; //加密btoa var jiaMi = btoa(str); alert(jiaMi) ; //结果为SSBMT1ZFIFlPVQ== //加密 atob var jieMi = atob(jiaMi); alert(jieMi)
encodeURIComponent与decodeURIcomponent
只能将中文加密,不可以加密ascii
加密时 可以先将中文加密,然后再用btoa加密
解密时可以先将ascii解密,然后再将非ascii解密
var str = 'i love中国'; //加密encodeURIcomponent var jiaMi = encodeURIComponent(str); alert(jiaMi) ; //结果为i%20love%E4%B8%AD%E5%9B%BD ,你会发现英文字母没有加密 var jiaM = btoa(jiaMi); alert(jiaM) ; //结果为aSUyMGxvdmUlRTQlQjglQUQlRTUlOUIlQkQ= //解密,先用atob解密ascii码,然后再用decodeURIComponent var jieMi = atob(jiaM); var jieM = decodeURIComponent(jieMi); alert(jieM)