androidbase64illegalargumentexception

Bad base-64 error


I'm getting a "java.lang.IllegalArgumentException: bad base-64" on the following code:

byte[] msgBytes = Base64.decode(msgStr, Base64.NO_WRAP);

msgString is a String, and right before this line, I check the value of msgStr and it is "fl-ILw==". Is there anything wrong?

Thanks.


Solution

  • According to RFC 4648(http://www.rfc-editor.org/rfc/rfc4648.txt) '-' character is not a valid Base64 character but on the other hand is valid for "URL and Filename safe Base 64 Alphabet".

    So you could use Base64.URL_SAFE depending of the expected format of the string.