Skip to content Skip to sidebar Skip to footer

Java.lang.illegalargumentexception: Bad Base-64

I am trying to encode and decode a String using android.util.Base64, but it gives a bad base-64 error. The code with the problem is: private byte[] base64ToByte(String str) throws

Solution 1:

You are trying to decode26.919047981500626 which you can't. Because it's not a valid base64 encoded string.

When put into this online base64 decoder, it gives this error:

The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.

Update:

If you want to know the valid formatting of a encoded base64 string, take a look at the table in the wikipedia article and also this answer which shows a base64 validator code in C#.

Solution 2:

remove the prefix string " data:image/png;base64, ", get the string of after "data:image/png;base64,", it can decode

Solution 3:

It hit me, if in any case your are splitting the data & the encoding it, then decode it first before putting it back together.. Stupidly I was doing decode after collation of data that left me "bad-base-64" as each block of encode data had file enders(==).

This is Linkis handy anyways to validate the encoding and decoding.

Post a Comment for "Java.lang.illegalargumentexception: Bad Base-64"