作者zachery1221 (zachery)
看板AndroidDev
标题[问题] 写bitmap转成byte[]再转成string
时间Mon Aug 22 23:14:57 2011
我们想要把手机照相的图片存成bitmap
if(resultCode == RESULT_OK){
Bundle extras = intent.getExtras();
Bitmap bmp = (Bitmap)extras.get("data");
imv = (ImageView)findViewById(R.id.ReturnedImageView);
ByteArrayOutputStream baos = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, baos);
byte[] b = baos.toByteArray();
String a = new String(b);
byte[] c = a.getBytes();
Bitmap bmpOK = BitmapFactory.decodeByteArray(c, 0, c.length);
imv.setImageBitmap(bmpOK);
}
想要测试看看转回去Bitmap对不对(用bmpOK来看)
但是 Bitmap bmpOK = BitmapFactory.decodeByteArray(c, 0, c.length);
图片跑步出来
但如果换成 Bitmap bmpOK = BitmapFactory.decodeByteArray(b, 0, b
.length);
就可以
想请问是用法有错还是byte to string的方法不对呢
麻烦大家帮我看看 谢谢!
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.113.122.54
1F:→ Killercat:我猜是byte->string因为会依照charset做解读 08/24 09:34
2F:→ Killercat:所以进出都要用同样的charset(手边没电脑没办法测) 08/24 09:35
3F:→ Killercat:不过到底是什麽原因要让byte[]用string存? 08/24 09:36
4F:→ Killercat:我没记错的话,java的spec有提过他对於"charset不支援的 08/24 09:37
5F:→ Killercat:byte 会做出什麽行为没定义" 而没指定charset的话用的是 08/24 09:37
6F:→ Killercat:default charset, 看看是不是这问题? 08/24 09:37