//base64.encode64(JSON.stringify(p))
var base64 = (function() {
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
return {
"encode64": encode64,
"decode64": decode64
}
function encode64(input) {
input = strUnicode2Ansi(input);
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) > 4);
enc3 = ((chr2 & 15) > 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return output;
}
function decode64(input) {
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
if (input.length % 4 != 0) {
return "";
}
var base64test = /[^A-Za-z0-9\+\/\=]/g;
if (base64test.exec(input)) {
return "";
}
do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 > 4);
chr2 = ((enc2 & 15) > 2);
chr3 = ((enc3 & 3) 127) varasc = UnicodeToAnsi(varasc);
if (varasc > 255) {
var varlow = varasc & 65280;
varlow = varlow >> 8;
var varhigh = varasc & 255;
temp += String.fromCharCode(varlow) + String.fromCharCode(varhigh);
} else {
temp += String.fromCharCode(varasc);
}
}
return temp;
}
function strAnsi2Unicode(asContents) {
var len1 = asContents.length;
var temp = "";
var chrcode;
for (var i = 0; i < len1; i++) {
var varasc = asContents.charCodeAt(i);
if (varasc > 127) {
chrcode = AnsiToUnicode((varasc
快捷键:jsbase64
源:
sublime_text格式
<snippet>
<content><![CDATA[
//base64.encode64(JSON.stringify(p))
var base64 = (function() {
var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
return {
"encode64": encode64,
"decode64": decode64
}
function encode64(input) {
input = strUnicode2Ansi(input);
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
do {
chr1 = input.charCodeAt(i++);
chr2 = input.charCodeAt(i++);
chr3 = input.charCodeAt(i++);
enc1 = chr1 >> 2;
enc2 = ((chr1 & 3) > 4);
enc3 = ((chr2 & 15) > 6);
enc4 = chr3 & 63;
if (isNaN(chr2)) {
enc3 = enc4 = 64;
} else if (isNaN(chr3)) {
enc4 = 64;
}
output = output + keyStr.charAt(enc1) + keyStr.charAt(enc2) + keyStr.charAt(enc3) + keyStr.charAt(enc4);
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return output;
}
function decode64(input) {
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;
if (input.length % 4 != 0) {
return "";
}
var base64test = /[^A-Za-z0-9\+\/\=]/g;
if (base64test.exec(input)) {
return "";
}
do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 > 4);
chr2 = ((enc2 & 15) > 2);
chr3 = ((enc3 & 3) 127) varasc = UnicodeToAnsi(varasc);
if (varasc > 255) {
var varlow = varasc & 65280;
varlow = varlow >> 8;
var varhigh = varasc & 255;
temp += String.fromCharCode(varlow) + String.fromCharCode(varhigh);
} else {
temp += String.fromCharCode(varasc);
}
}
return temp;
}
function strAnsi2Unicode(asContents) {
var len1 = asContents.length;
var temp = "";
var chrcode;
for (var i = 0; i < len1; i++) {
var varasc = asContents.charCodeAt(i);
if (varasc > 127) {
chrcode = AnsiToUnicode((varasc
]]></content>
<tabTrigger>jsbase64(js base64编码)</tabTrigger>
<scope></scope>
</snippet>
发表评论 取消回复