Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android中,将位图转换为bytearray再转换回字符串始终为空_Android_Arrays_Bitmap_Byte - Fatal编程技术网

在Android中,将位图转换为bytearray再转换回字符串始终为空

在Android中,将位图转换为bytearray再转换回字符串始终为空,android,arrays,bitmap,byte,Android,Arrays,Bitmap,Byte,我正在开发一个Android应用程序。在我的应用程序中,我正在使用位图。我正在做的是将位图转换为字节数组。然后我将字节数组转换为字符串。我需要做这件事是有原因的。正在将位图转换为字节数组。字节数组到字符串也被转换。然后,当我使用转换后的字符串时,问题就开始了。我正在将该字符串转换回字节数组。然后我将字节数组转换回位图。但位图总是空的 这是我将位图转换为字节数组的函数 public static byte[] ConvertBitmapToByteArray(Bitmap bitmap)

我正在开发一个Android应用程序。在我的应用程序中,我正在使用位图。我正在做的是将位图转换为字节数组。然后我将字节数组转换为字符串。我需要做这件事是有原因的。正在将位图转换为字节数组。字节数组到字符串也被转换。然后,当我使用转换后的字符串时,问题就开始了。我正在将该字符串转换回字节数组。然后我将字节数组转换回位图。但位图总是空的

这是我将位图转换为字节数组的函数

public static byte[] ConvertBitmapToByteArray(Bitmap bitmap)
    {
        if(bitmap==null)
        {
            return null;
        }
        else{
            ByteArrayOutputStream stream = new ByteArrayOutputStream();
            bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream);
            byte[] byteArray = stream.toByteArray();

            return byteArray;
        }
}
这是一个将字节数组转换为位图的函数

 public static Bitmap ConvertByteArarysToBitmap(byte[] byteArray)
    {
        if(byteArray!=null)
        {
            return BitmapFactory.decodeByteArray(byteArray, 0, byteArray.length);
        }
        else{
            return null;
        }
}
这些是我正在转换的步骤

byte[] byteArray = Helper.ConvertBitmapToByteArray(Bitmap bitmap);
//convert byte array to string
String imageString = new String(byteArray,"UTF-8");
//I convert that string back to byte array
byte[] reconvertedByteArray = imageString.getBytes("UTF-8");
Bitmap reconvertedBitmap = Helper.ConvertByteArarysToBitmap(reconvertedByteArray);

在我的代码中,最后一个重新转换的位图总是空的。我的代码有什么问题?将字节数组转换为字符串,然后将该字符串转换回字节数组的正确方法是什么。我的代码中缺少什么

要将
字节[]
正确转换为
字符串
,应使用
Base64.encodeToString()


要将
字节[]
正确转换为
字符串
,应使用
Base64.encodeToString()