title: cryptopp base64 trailing 0x0a
body: <p>I'm using CryptoPP to encode a string "abc", the problem is the encoded base64 string always has a trailing '0x0a'?
  here's my code:</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  
  using namespace std;
  
  #include "crypto/base64.h"
  using namespace CryptoPP;
  
  int main() {
  string in("abc");
  
  string encoded;
  
  CryptoPP::StringSource ss(
      in,
      true, 
      new CryptoPP::Base64Encoder(
          new CryptoPP::StringSink(encoded)
      )
  );
  
  cout &lt;&lt; encoded.length() &lt;&lt; endl;// outputs 5, should be 4
  cout &lt;&lt; encoded;
  }
  </code></pre>
  
  <p>the string "abc" should be encoded to "YWJj", but the result is YWJj\n, (\n == 0x0a), and the length is 5 .</p>
  
  <p>Changing the source string doesn't help, any string will be encrypted with a trailing \n
  Why is that?
  Thanks</p>