code: func (e *Encoding) EncodeBigInt(n *big.Int) string {
  	var (
  		b    = make([]byte, 0)
  		rem  = new(big.Int)
  		bse  = new(big.Int)
  		zero = new(big.Int)
  	)
  	bse.SetInt64(base)
  	zero.SetInt64(0)
  
  	// Progressively divide by base, until we hit zero
  	// store remainder each time
  	// Prepend as an additional character is the higher power
  	for n.Cmp(zero) == 1 {
  		n, rem = n.DivMod(n, bse, rem)
  		b = append([]byte{e.encode[rem.Int64()]}, b...)
  	}
  
  	s := string(b)
  	if e.padding > 0 {
  		s = e.pad(s, e.padding)
  	}
  
  	return s
  }
docs: // EncodeBigInt returns the base62 encoding of an arbitrary precision integer