我想知道如果要将包含字节数组的字符串(实际上是图像中的字节)转换为字节数组,应该怎么做。
我想这是一个很常见的问题,所以我想有人可以提出任何建议。
如果将 JSONArray 转换为字节数组更好,我想知道为什么。
我想知道如果要将包含字节数组的字符串(实际上是图像中的字节)转换为字节数组,应该怎么做。
这首先取决于您是如何构造字符串的。如果某处使用过的东西
new String(imageData)
那么您可能已经丢失了信息。图像数据不是文本。
要在文本中传播不透明的二进制数据,您应该使用 base64(或可能是十六进制)。Android 已经有一个Base64
使这变得简单的类:
String text = Base64.encodeToString(originalBytes, Base64.DEFAULT);
...
byte[] roundTrip = Base64.decode(text, Base64.DEFAULT);
编辑:如果你不能使用那个类,这个公共域 base64 编码器应该可以正常工作。
字节 [] 到字符串
ByteArrayOutputStream baos = new ByteArrayOutputStream();
Your_Bitmap.compress(CompressFormat.PNG, 0 , baos); //bm is the bitmap object
byte[] b = baos.toByteArray();
String bytetostring = Base64.encodeToString(b, Base64.DEFAULT);
return bytetostring ;
字符串到字节[]
byte[] data = Base64.decode("Your string", Base64.DEFAULT);
Bitmap bitmap = BitmapFactory.decodeByteArray(data , 0, data.length);