【问题标题】:JPEG byte array values not as expected for JPEGJPEG 字节数组值与 JPEG 不同
【发布时间】:2012-01-29 01:48:52
【问题描述】:

如果我理解正确,Jpeg 文件应该以 0xff
0xd8 文件标记开始

那么 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](下一个标记)

感谢任何帮助。

谢谢!

【问题讨论】:

  • 确保您使用无符号字节值进行比较(当前您使用的是有符号字节值)。

标签: android formatting jpeg


【解决方案1】:

在 Java 中,字节值是有符号的,它们从 -128 变为 127。

您看到的数据是正确的:-1 和 255 的位模式相同,-40 和 216 也是。

【讨论】:

  • 迷幻。非常感谢你。我真的很感激帮助。我也感谢你没有嘲笑我的无知。享受!奇怪,它不会让我对你的答案投票。
  • @user1133277 我相信您需要 15 名代表来投票...尽管您应该能够接受答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-10-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多