Nodejs Base64 Encode toBase64()

Here you can find the source of toBase64()

Method Source Code

// http://www.codewars.com/kata/5270f22f862516c686000161
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)
        )/*  w w  w  . j  av  a 2 s.c om*/
      )
    );
  }

  var ret = "";
  for(var i=0; i<this.length; i+=3){
    var nnn = (this.charCodeAt(i) << 16) + (this.charCodeAt(i+1) << 8) + this.charCodeAt(i+2);
    ret+= String.fromCharCode(nToOrd(nnn>>18), nToOrd((nnn>>12)%64), nToOrd((nnn>>6)%64), nToOrd(nnn%64));
  }
  return ret;
}

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 keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
      var output = ""
      var chr1, chr2, chr3
      var enc1, enc2, enc3, enc4
       var i = 0
       do {
          chr1 = this.charCodeAt(i++)
          chr2 = this.charCodeAt(i++)
    ...
    
  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];
    ...