怎么在AngularJS中实现一个base64编码与解码功能?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
具体如下:
& lt; ! DOCTYPE HTML> & lt; html> & lt; head> ,& lt; meta charset=皍tf-8"比; ,& lt; title> base64加密& lt;/title> ,& lt; https://www.yisu.com/zixun/script src=" http://apps.bdimg.com/libs/angular.js/1.4.6/angular.min.js "> 脚本> <脚本> 函数Base64 () {//私有财产 _keyStr=" ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789 +/=";//公共编码方法 这一点。编码=function(输入){ var输出=" "; var chr1、chr2 chr3、enc1 enc2, enc3, enc4; var=0; 输入=_utf8_encode(输入); 虽然(我2; enc2=((chr1 & 3) <4) | (chr2> 4); enc3=((chr2 & 15) <2) | (chr3> 6); enc4=chr3 & 63; 如果(isNaN (chr2)) { enc3=enc4=64; }else if (isNaN (chr3)) { enc4=64; } 输出=输出+ _keyStr.charAt (enc1) + _keyStr.charAt (enc2) + _keyStr.charAt (enc3) + _keyStr.charAt (enc4); } 返回输出; }//解码的公共方法 this.decode=function(输入){ var输出=" "; var chr1, chr2 chr3; var enc1、enc2 enc3 enc4; var=0; 输入=L婊?/[^ A-Za-z0-9/+/=]/g, " "); 虽然(我 4); chr2=((enc2 & 15) <4) | (enc3> 2); chr3=((enc3 & 3) <6) | enc4; 输出=输出+ String.fromCharCode (chr1); 如果(enc3 !=64) { 输出=输出+ String.fromCharCode (chr2); } 如果(enc4 !=64) { 输出=输出+ String.fromCharCode (chr3); } }=_utf8_decode输出(输出); 返回输出; }//私有方法为utf - 8编码 _utf8_encode=function(字符串){ 琴弦=L婊?g/r/n/,/n); var utftext=" "; (var n=0;n 127) & & (c <2048)) { utftext +=String.fromCharCode (c> 6) | (192); utftext +=String.fromCharCode ((c & 63) | 128); 其他}{ utftext +=String.fromCharCode (c> 12) | (224); utftext +=String.fromCharCode (((c> 6) & 63) | 128); utftext +=String.fromCharCode ((c & 63) | 128); } } 返回utftext; }//私有方法为utf - 8解码 _utf8_decode=函数(utftext) { 字符串var=" "; var=0; c1=c2 var c==0; 虽然(我 191) & & (c <224)) { c2=utftext。charCodeAt (i + 1); 字符串+=String.fromCharCode (((c & 31) <6) | (c2 & 63)); 我+=2; 其他}{ c2=utftext。charCodeAt (i + 1); c3=utftext。charCodeAt (+ 2); 字符串+=String.fromCharCode (((c & 15) <12) | ((c2 & 63) <6) | (c3 & 63)); 我+=3; } } 返回字符串; } }> 脚本> 头 身体<> PHAgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyZW07Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNnB4OyBmb250LWZhbWlseTog5b6u6L2v6ZuF6buRLCAnTWljcm9zb2Z0IFlhSGVpJzsiPu+7vzxpbWcgc3JjPSJodHRwOi8vd3d3LmpiNTEubmV0L2ltYWdlcy9sb2dvLmdpZiIgdGl0bGU9ImxvZ28uZ2lmIi8+PC9zcGFuPjwvcD48cCBzdHlsZT0idGV4dC1pbmRlbnQ6IDJlbTsgbGluZS1oZWlnaHQ6IDJlbTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE2cHg7IGZvbnQtZmFtaWx5OiDlvq7ova/pm4Xpu5EsICdNaWNyb3NvZnQgWWFIZWknOyI+5qyi6L+O6K6/6Zeu6ISa5pys5LmL5a62PC9zcGFuPjwvcD48cCBzdHlsZT0ibWFyZ2luLXRvcDogMHB4OyBtYXJnaW4tYm90dG9tOiAwcHg7IHBhZGRpbmc6IDBweDsgdGV4dC1pbmRlbnQ6IDJlbTsgY29sb3I6IHJnYigzNCwgMzQsIDM0KTsgZm9udC1mYW1pbHk6ICdNaWNyb3NvZnQgWWFIZWknLCDlvq7ova/pm4Xpu5E7IGZvbnQtc2l6ZTogMTRweDsgd2hpdGUtc3BhY2U6IG5vcm1hbDsgbGluZS1oZWlnaHQ6IDJlbTsiPjxzcGFuIHN0eWxlPSJmb250LXNpemU6IDE2cHg7IGZvbnQtZmFtaWx5OiDlvq7ova/pm4Xpu5EsICdNaWNyb3NvZnQgWWFIZWknOyI+6ISa5pys5LmL5a625piv5Zu95YaF5LiT5Lia55qE572R56uZ5bu66K6+6LWE5rqQ44CB6ISa5pys57yW56iL5a2m5Lmg57G7572R56uZ77yM5o+Q5L6bYXNw44CBcGhw44CBYXNwLm5ldOOAgWphdmFzY3JpcHTjgIFqcXVlcnnjgIF2YnNjcmlwdOOAgWRvc+aJueWkhOeQhuOAgee9kemhteWItuS9nOOAgee9kee7nOe8lueoi+OAgee9keermeW7uuiuvuetiee8lueoi+i1hOaWmeOAgjwvc3Bhbj48L3A+PHAgc3R5bGU9Im1hcmdpbi10b3A6IDBweDsgbWFyZ2luLWJvdHRvbTogMHB4OyBwYWRkaW5nOiAwcHg7IHRleHQtaW5kZW50OiAyZW07IGNvbG9yOiByZ2IoMzQsIDM0LCAzNCk7IGZvbnQtZmFtaWx5OiAnTWljcm9zb2Z0IFlhSGVpJywg5b6u6L2v6ZuF6buROyBmb250LXNpemU6IDE0cHg7IHdoaXRlLXNwYWNlOiBub3JtYWw7IGxpbmUtaGVpZ2h0OiAyZW07Ij48c3BhbiBzdHlsZT0iZm9udC1zaXplOiAxNnB4OyBmb250LWZhbWlseTog5b6u6L2v6ZuF6buRLCAnTWljcm9zb2Z0IFlhSGVpJzsiPui/memHjOi/mOaPkOS+m+Wkp+mHj+eahOa6kOeggeOAgeeUteWtkOS5puS4i+i9ve+8jOS7peWPiuWQhOenjeW4uOingeeahOWunueUqOWcqOe6v+W3peWFtzwvc3Bhbj48L3A+
怎么在AngularJS中实现一个base64编码与解码功能