我有一个看起来像
的数组String image = obj.getString("data");
[255,216,255,224,0,16,74,70,73,70,0,1,1,0,0,1,0,1,0,0, ....]
//这就是图片所包含的内容。
我尝试通过
将其转换为字节数组byte[] bytes = image.getBytes();
然后我尝试用
保存它File file = new File(Environment.getExternalStorageDirectory(), "DirImage/test.jpg");
FileOutputStream fos = new FileOutputStream(file);
fos.write(bytes);
fos.flush();
fos.close();
该文件被写入但我无法查看该图像。显示我是一个损坏的文件。
答案 0 :(得分:1)
首先确定您需要的字节数。所以字符串中包含的十进制值的数量。然后声明一个像byte bytes[] = new byte[amount];
这样的字节数组。您也可以先在字符串数组中拆分该字符串。 String parts [] = image.split(",");
。 parts.length会告诉'amount'。
然后遍历各个部分并将部分字符串逐个转换为一个字节。
答案 1 :(得分:0)
之前我从未直接使用JPEG,但我认为您需要在文件开头指定一些信息,而不是直接输出原始颜色值,尝试使用Google搜索jpeg结构。