2012-01-29 53 views
0

如果我理解正确的话,JPEG格式的文件应该开始 0xFF的
0xd8启动文件标志JPEG字节数组值不为JPEG

然后 0xFF的 多个标记

如果我转换位图的ByteArray,看看它与Eclipse表达式它看起来不正确

ByteArrayOutputStream bos = new ByteArrayOutputStream(); 
SaveFileBitmap.compress(CompressFormat.JPEG, 100, bos); 
byte[] Image1Byte = bos.toByteArray(); 

Image1Byte [0] -1 [1] -40 [2] -1 [3] -32 [4] 0 [5] 16

我认为应该读

Image1Byte [ 0] 255 [1] 216(文件标记的开始) [2] 255 [3](下一个标记)

任何帮助理解。

谢谢!

+0

确保您使用无符号字节值进行比较(目前您正在使用带符号字节值)。 – Till 2012-01-29 01:52:01

+0

感谢您的回复直到 – user1133277 2012-01-29 02:08:00

回答

3

在Java字节值后,他们去从-128到127

你看到的是正确的数据:-1的位模式和255是相同的,所以是-40和216

+0

Trippy。非常感谢你。我真的很感谢帮助。我也很感谢你不嘲笑我的无知。请享用!奇怪的是,它不会让我对你的答案投票。 – user1133277 2012-01-29 02:07:38

+0

@ user1133277我相信你需要15位代表进行投票,尽管你应该能够接受答案。 – Steve 2012-01-29 02:29:43