title: Android Base64 returns string much bigger than the image
body: <p>I need to send an image to a server ,
  I have an Image of 3.30 MB size , I convert it to byte array using :</p>
  
  <pre><code> ByteArrayOutputStream stream = new ByteArrayOutputStream();
      bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
      byte[] byteArray = stream.toByteArray();
  </code></pre>
  
  <p>then to base64 using :</p>
  
  <pre><code>Base64.encodeToString(byteArray , Base64.DEFAULT)
  </code></pre>
  
  <p>EDIT: If I check the length of the byte array (bytearray) it is 20 MB!
  but on the PC or the phone the size show 3.30 MB</p>
  
  <p>The length of the returned string is 28 MB, any explanation and solution?</p>