code: func (enc *Encoding) Encode(dst, src []byte) {
  	for sp, dp, sLim, dLim := 0, 0, 0, 0; sp < len(src); sp, dp = sLim, dLim {
  		sLim = sp + enc.base256BlockLen
  		dLim = dp + enc.baseXBlockLen
  		if sLim > len(src) {
  			sLim = len(src)
  		}
  		if dLim > len(dst) {
  			dLim = len(dst)
  		}
  		enc.encodeBlock(dst[dp:dLim], src[sp:sLim])
  	}
  }
docs: /*
   * Encoder
   */
  // Encode encodes src using the encoding enc, writing
  // EncodedLen(len(src)) bytes to dst.
  //
  // The encoding aligns the input along base256BlockLen boundaries.
  // so Encode is not appropriate for use on individual blocks
  // of a large data stream.  Use NewEncoder() instead.