BitmapFactory.decodeByteArray返回null

时间:2012-07-02 04:21:26

标签: android base64

看起来不错?

public static Bitmap stringToImage(String base64) {

    byte[] decodedString = decode(base64, Base64.DEFAULT);
    return BitmapFactory.decodeByteArray(decodedString, 0, decodedString.length);
}

如果我的base64字符串以“data:image / jpeg; base64”开头,则此代码返回null。但如果我删除此前缀 - 此代码工作正常!如何解决这个问题?

我测试了我的base64字符串,它工作正常(评论1 How to display Base64 images in HTML?

2 个答案:

答案 0 :(得分:1)

除非我感到困惑,否则“data:image / jpeg; base64”不是base64字符串的有效部分。如果是这样的话,那真是难怪它不能正确解码。只需在解码之前将其从字符串的头部移除,如果它导致问题。

答案 1 :(得分:0)

你可以在将String传递给函数之前使用

    String base64="";
base64.replaceAll("data:image/jpeg;base64,", "");

请根据你的字符串改变给定的字符串