code: function encode_numeric(str) {
      var len = str.length;
      var bits = [];
  
      for (var i = 0; i < len; i += 3) {
          var s = str.substr(i, 3);
          var b = Math.ceil(s.length * 10 / 3);
          pushBits(bits, b, parseInt(s, 10));
      }
  
      var res = {};
  
      var d = [0, 0, 0, 1];
      pushBits(d, 14, len);
      res.data27 = d.concat(bits);
  
      if (len < 4096) {
          var d = [0, 0, 0, 1];
          pushBits(d, 12, len);
          res.data10 = d.concat(bits);
      }
  
      if (len < 1024) {
          var d = [0, 0, 0, 1];
          pushBits(d, 10, len);
          res.data1 = d.concat(bits);
      }
  
      return res;
  }
docs: {{{1 numeric encode