code: func (enc *Encoding) encodeBlock(dst, src []byte) {
  
  	// Interpret the block as a big-endian number (Go's default)
  	num := new(big.Int).SetBytes(src)
  	rem := new(big.Int)
  	quo := new(big.Int)
  
  	encodedLen := enc.EncodedLen(len(src))
  
  	p := encodedLen - 1
  
  	for num.Sign() != 0 {
  		num, rem = quo.QuoRem(num, enc.baseBig, rem)
  		dst[p] = enc.encode[rem.Uint64()]
  		p--
  	}
  
  	// Pad the remainder of the buffer with 0s
  	for p >= 0 {
  		dst[p] = enc.encode[0]
  		p--
  	}
  }
docs: // encodeBlock fills the dst buffer with the encoding of src.
  // It is assumed the buffers are appropriately sized, and no
  // bounds checks are performed.  In particular, the dst buffer will
  // be zero-padded from right to left in all remaining bytes.