Nodejs Base64 Encode toBase64()

Here you can find the source of toBase64()

Method Source Code

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;
}

Related

  1. toBase64(()
    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;
    ...
    
  2. toBase64()
    String.prototype.toBase64 = function () {
        var converter = new Buffer(this.toString(), 'utf8');
        return converter.toString('base64');
    
  3. toBase64()
    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] : '='
    ...
    
  4. toBase64()
    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)
            )
          )
        );
    ...
    
  5. toBase64()
    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)) {
    ...
    
  6. toBase64()
    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)];
    ...
    
  7. toBase64()
    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];
    ...