本文介紹了java中將base64字符串轉換為byte[]的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!
問題描述
我正在嘗試將Base64字符串轉換為字節數組,但引發以下錯誤
java.lang.IllegalArgumentException:非法的base64字符3a
我嘗試了以下選項:userimage is base64字符串
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();
}
}
}
這篇關于java中將base64字符串轉換為byte[]的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,