Base64文字列をバイト配列に変換しようとしていますが、次のエラーがスローされています
Java.lang.IllegalArgumentException:無効なbase64文字3a
次のオプションを試してみましたuserimage is base64 string
byte[] img1 = org.Apache.commons.codec.binary.Base64.decodeBase64(userimage);`
/* byte[] decodedString = Base64.getDecoder().decode(encodedString.getBytes(UTF_8));*/
/* byte[] byteimage =Base64.getDecoder().decode( userimage );*/
/* byte[] byteimage = Base64.getMimeDecoder().decode(userimage);*/`
Java.util.Base64
パッケージを使用して、ストリングをbyte[]
にデコードできます。エンコードとデコードに使用した以下のコード。
Java 8の場合:
import Java.io.UnsupportedEncodingException;
import Java.util.Base64;
public class Example {
public static void main(String[] args) {
try {
byte[] name = Base64.getEncoder().encode("hello World".getBytes());
byte[] decodedString = Base64.getDecoder().decode(new String(name).getBytes("UTF-8"));
System.out.println(new String(decodedString));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
Java 6:
import Java.io.UnsupportedEncodingException;
import org.Apache.commons.codec.binary.Base64;
public class Main {
public static void main(String[] args) {
try {
byte[] name = Base64.encodeBase64("hello World".getBytes());
byte[] decodedString = Base64.decodeBase64(new String(name).getBytes("UTF-8"));
System.out.println(new String(decodedString));
} catch (UnsupportedEncodingException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}