Here you can find the source of toBase64()
String.prototype.toBase64 = function() { var keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=" var output = "" var chr1, chr2, chr3 var enc1, enc2, enc3, enc4 var i = 0// w w w. j ava 2 s . c o m do { chr1 = this.charCodeAt(i++) chr2 = this.charCodeAt(i++) chr3 = this.charCodeAt(i++) enc1 = chr1 >> 2 enc2 = ((chr1 & 3) << 4) | (chr2 >> 4) enc3 = ((chr2 & 15) << 2) | (chr3 >> 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); } while (i < this.length); return output; }
String.prototype.toBase64 = (function(){ var b64chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' var b64hash = {}; b64chars.split('').forEach(function(v,i){b64hash[v]=i}); var b64pos = [18, 12, 6, 0]; var b64and = b64pos.map(function(v){return 63<<v}); return function toBase64 () { var length = this.length; var count, encoded = [], b64string = ""; var i, extra; ...
String.prototype.toBase64 = function () { var converter = new Buffer(this.toString(), 'utf8'); return converter.toString('base64');
const CODES = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' String.prototype.toBase64 = function() { let out = '' for (let i = 0, length = this.length; i < length; i += 3) { let [a, b, c] = [...this.slice(i, i + 3)].map(c => c.charCodeAt(0)) bits = a << 16 | b << 8 | c out += CODES[bits >> 18 & 0x3F] out += CODES[bits >> 12 & 0x3F] out += b ? CODES[bits >> 6 & 0x3F] : '=' ...
String.prototype.toBase64 = function(){ var nToOrd = function(n){ return n < 26 ? "A".charCodeAt(0) + n : ( n < 52 ? "a".charCodeAt(0) - 26 + n : ( n < 62 ? "0".charCodeAt(0) - 52 + n : ( n==62 ? "+".charCodeAt(0) : "/".charCodeAt(0) ) ) ); ...
var code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'.split(''); String.prototype.toBase64 = function() { var encoded = []; var a, b, c; for (var i = 0, len = this.length; i < len; i = i + 3) { a = this.charCodeAt(i); encoded.push(code[a >> 2]); b = this.charCodeAt(i + 1); if (isNaN(b)) { ...
String.prototype.toBase64 = function() { var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'; var encoded = ''; for(var i=0; i < this.length; i+=3) { var c1 = this.charCodeAt(i), c2 = this.charCodeAt(i+1), c3 = this.charCodeAt(i+2); encoded += chars[(c1 & 0xFC) >> 2]; encoded += chars[((c1 & 0x03) << 4) | ((c2 & 0xF0) >> 4)]; ...
String.prototype.toBase64 = function () { var stringyBits = this.match(/.{1,3}/g); var alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); result = stringyBits.map(function(threeLetters) { var letters = threeLetters.split(""); var ascii3 = letters.map(function(char) { return pad(char.charCodeAt(0).toString(2),8); }); var twentyFour3 = ascii3[0]+ascii3[1]+ascii3[2]; ...