Значения байтового массива JPEG не такие, как ожидалось для JPEG - PullRequest
0 голосов
/ 29 января 2012

Если я правильно понимаю, файл 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] (следующий маркер)

Любая помощь приветствуется.

Спасибо!

1 Ответ

3 голосов
/ 29 января 2012

В байтовых значениях Java подписаны, они идут от -128 до 127.

Данные, которые вы видите, верны: битовые комбинации -1 и 255 одинаковы, равно -40 и 216.

...