-4

我想知道如果要将包含字节数组的字符串(实际上是图像中的字节)转换为字节数组,应该怎么做。

我想这是一个很常见的问题,所以我想有人可以提出任何建议。

如果将 JSONArray 转换为字节数组更好,我想知道为什么。

4

2 回答 2

6

我想知道如果要将包含字节数组的字符串(实际上是图像中的字节)转换为字节数组,应该怎么做。

这首先取决于您是如何构造字符串的。如果某处使用过的东西

new String(imageData)

那么您可能已经丢失了信息。图像数据不是文本。

要在文本中传播不透明的二进制数据,您应该使用 base64(或可能是十六进制)。Android 已经有一个Base64使这变得简单的类:

String text = Base64.encodeToString(originalBytes, Base64.DEFAULT);

...

byte[] roundTrip = Base64.decode(text, Base64.DEFAULT);

编辑:如果你不能使用那个类,这个公共域 base64 编码器应该可以正常工作。

于 2012-05-01T09:29:13.273 回答
0

字节 [] 到字符串

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);
于 2012-05-01T09:29:26.743 回答