Java 试图显示使用base64编码从服务器检索的图像,但无法显示正确的图像

Java 试图显示使用base64编码从服务器检索的图像,但无法显示正确的图像,java,android,bitmap,base64,Java,Android,Bitmap,Base64,这些是我的编码和解码方法 public String encodeBase64(Bitmap bit){ ByteArrayOutputStream baos = new ByteArrayOutputStream(); bit.compress(Bitmap.CompressFormat.PNG, 100, baos); // Could be Bitmap.CompressFormat.PNG or Bitmap.CompressFormat.WEBP byte[]

这些是我的编码和解码方法

public String encodeBase64(Bitmap bit){
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    bit.compress(Bitmap.CompressFormat.PNG, 100, baos); // Could be Bitmap.CompressFormat.PNG or Bitmap.CompressFormat.WEBP
    byte[] bai = baos.toByteArray();

    return Base64.encodeToString(bai, Base64.DEFAULT);
}
public Bitmap decodeBase64(String base64Image){
    byte[] data = Base64.decode(base64Image, Base64.DEFAULT);
    Bitmap bm;
    BitmapFactory.Options opt = new BitmapFactory.Options();
    opt.inMutable = true;
    bm = BitmapFactory.decodeByteArray(data, 0, data.length, opt);
    return bm;
}
这是来自位图的编码数据

iVBORw0KGgoAAAANSUhEUgAABLAAAAdcCAYAAAC7T3KrAAAABHNCSVQICAgIfAhkiAAAIABJREFU
eJzswQEBAAAAgJD+r+4ICgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA.... etc
但是我从服务器上得到的数据是这样的

{"type":"Buffer","data":[105,86,66,79,82,119,48,75,71,103,111,65,65,65,... etc
我可以获得纯数据或json对象的类型和数据。我试着把两者都解码了。当我尝试用类型和数据解码时,它会给我一个空位图,当我解码原始数据时,只有图像不显示,但似乎没有崩溃


在解码之前,我需要检索所有这些数组号并将它们转换为字符吗?我读了另一篇文章,听起来很难理解,只需编码然后解码。

请提供一个完整的数据示例,我想自己尝试一下你的代码。你可能需要将
数据:[……]
数组转换为字符,然后使用它。我无法打印完整的数据数组,因为它太长了,而且只显示了一部分。我想它最多有32k字节。我将把数组转换成一个字符串,然后解码,你需要把字节数组转换成一个字符串,它就可以工作了