我正在尝试使用android.util.Base64对String进行编码和解码,但它会产生错误的base-64错误。
String str = "EOKF36syRBtB11VgyChkNjc1HxRrajT7XXaxZfnVzPkV57K3b9yqkS284Ovb9uWzXgGeY2bxA3IySGfdOHiPAQ==F/v6hcTiU1sd975XHfDsz8o0rboujM77n7KwRMidobOLbo5ghUT/IFcxElUc8CirdZxaCaS3zs/CfRKRsXwbFNYd";
Base64.decode(str,Base64.NO_WRAP);
我正在尝试使用以下标志解码字符串(NO_CLOSE,DEFAULT,NO_PADDING,URL_SAFE),但它会产生相同的错误。
请帮我解决问题。
答案 0 :(得分:4)
我使用下面的方法解码base64字符串,它工作正常。
private String decodeBase64(String coded){
byte[] valueDecoded= new byte[0];
try {
valueDecoded = Base64.decode(coded.getBytes("UTF-8"), Base64.DEFAULT);
} catch (UnsupportedEncodingException e) {
}
return new String(valueDecoded);
}
答案 1 :(得分:2)
您的编码字符串似乎已损坏。尝试解码您在变量' str'中定义的字符串。使用在线base64解码器。结果是文本乱码。
答案 2 :(得分:1)
放置正确的base64字符串并尝试如下
String img = "your_base_64_string";
byte[] decodedString = Base64.decode(img, Base64.DEFAULT);
Bitmap decodedByte = BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);