<p>在IE9以上的版本我们可以通过:bt劳务派遣系统软件()和atob()2个方法来进行对base64格式的编码和解码。如果要兼容ie9一下的版本那么我们就要通过自己写的一个方法来兼容这样的处理。如下图下面这个封装的方法就是为了处理兼容ie9一下的版本的方法:代码如下:</p><p>varbase64={//privateproperty</p><p>_keyStr:"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",//publicmethodforencoding</p><p>encode:function(input){</p><p>varoutput="";</p><p>varchr1,chr2,chr3,enc1,enc2,enc3,enc4;</p><p>vari=0;input=base64._utf8_encode(input);while(i<input.length){chr1=input.charCodeAt(i++);</p><p>chr2=input.charCodeAt(i++);</p><p>chr3=input.charCodeAt(i++);enc1=chr1>>2;</p><p>enc2=((chr1&3)<<4)|(chr2>>4);</p><p>enc3=((chr2&15)<<2)|(chr3>>6);</p><p>enc4=chr3&63;if(isNaN(chr2)){</p><p>enc3=enc4=64;</p><p>}elseif(isNaN(chr3)){</p><p>enc4=64;</p><p>}output=output+</p><p>this._keyStr.charAt(enc1)+this._keyStr.charAt(enc2)+</p><p>this._keyStr.charAt(enc3)+this._keyStr.charAt(enc4);}returnoutput;</p><p>},//publicmethodfordecoding</p><p>decode:function(input){</p><p>varoutput="";</p><p>varchr1,chr2,chr3;</p><p>varenc1,enc2,enc3,enc4;</p><p>vari=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");while(i<input.length){enc1=this._keyStr.indexOf(input.charAt(i++));</p><p>enc2=this._keyStr.indexOf(input.charAt(i++));</p><p>enc3=this._keyStr.indexOf(input.charAt(i++));</p><p>enc4=this._keyStr.indexOf(input.charAt(i++));chr1=(enc1<<2)|(enc2>>4);</p><p>chr2=((enc2&15)<<4)|(enc3>>2);</p><p>chr3=((enc3&3)<<6)|enc4;output=output+String.fromCharCode(chr1);if(enc3!=64){</p><p>output=output+String.fromCharCode(chr2);</p><p>}</p><p>if(enc4!=64){</p><p>output=output+String.fromCharCode(chr3);</p><p>}}output=base64._utf8_decode(output);returnoutput;},//privatemethodforUTF-8encoding</p><p>_utf8_encode:function(string){</p><p>string=string.replace(/\r\n/g,"\n");</p><p>varutftext="";for(varn=0;n<string.length;n++){varc=string.charCodeAt(n);if(c<128){</p><p>utftext+=String.fromCharCode(c);</p><p>}</p><p>elseif((c>127)&&(c<2048)){</p><p>utftext+=String.fromCharCode((c>>6)|192);</p><p>utftext+=String.fromCharCode((c&63)|128);</p><p>}</p><p>else{</p><p>utftext+=String.fromCharCode((c>>12)|224);</p><p>utftext+=String.fromCharCode(((c>>6)&63)|128);</p><p>utftext+=String.fromCharCode((c&63)|128);</p><p>}}returnutftext;</p><p>},//privatemethodforUTF-8decoding</p><p>_utf8_decode:function(utftext){</p><p>varstring="";</p><p>vari=0;</p><p>varc=c1=c2=0;while(i<utftext.length){c=utftext.charCodeAt(i);if(c<128){</p><p>string+=String.fromCharCode(c);</p><p>i++;</p><p>}</p><p>elseif((c>191)&&(c<224)){</p><p>c2=utftext.charCodeAt(i+1);</p><p>string+=String.fromCharCode(((c&31)<<6)|(c2&63));</p><p>i+=2;</p><p>}</p><p>else{</p><p>c2=utftext.charCodeAt(i+1);</p><p>c3=utftext.charCodeAt(i+2);</p><p>string+=String.fromCharCode(((c&15)<<12)|((c2&63)<<6)|(c3&63));</p><p>i+=3;</p><p>}}returnstring;</p><p>}}使用方法:base64.encode("www.起航劳务派遣系统.com")编码base64.decode("d3d3Ljc4b2EuY29t")解码</p>