Заголовки TIFF и порядок следования битов

1874
Tony Stark

Байты 0-1: порядок байтов, используемый в файле. Допустимые значения: «II» (4949.H) «MM» (4D4D.H) В формате «II» порядок байтов всегда от младшего байта до старшего байта, как для 16-битных, так и для 32-битных. битовые целые числа Это называется байтовым порядком с прямым порядком байтов. В формате «ММ» порядок байтов всегда от старшего к младшему, как для 16-битных, так и для 32-битных целых чисел. Это называется порядком байтов с прямым порядком байтов.

Байты 2-3 Произвольное, но тщательно выбранное число (42), которое дополнительно идентифицирует файл как файл TIFF. Порядок байтов зависит от значения байтов 0-1.

Байты 4-7 Смещение (в байтах) первого IFD. Каталог может находиться в любом месте файла после заголовка, но должен начинаться с границы слова. В частности, каталог файлов изображений может следовать данным изображения, которые он описывает. Читатели должны следовать указателям, куда бы они ни вели. Термин смещение байта всегда используется в этом документе для обозначения местоположения относительно начала файла TIFF. Первый байт файла имеет смещение 0.

Правильно ли я понимаю, что байты 0-1 представляют два 8-разрядных значения, байты 2-3 представляют собой 16-значное число, а байты 4-7 представляют собой 32-разрядное число?

3
Привет Hatorade - вопросы, которые вы задаете домашние вопросы? Можете ли вы объединить все вопросы, которые вы задали в отношении TIFF, в одну цепочку вопросов? caliban 15 лет назад 0
нет, они не домашние задания. они все в одном проекте. и мне сказали раньше разделить вопросы на уникальные вопросы, а не помещать несколько вопросов в одну публикацию. Tony Stark 15 лет назад 0
Хорошо, удачи в получении ответов! caliban 15 лет назад 0

1 ответ на вопрос

4
nik
  1. Байты 0-1 представляют два 8-битных значения>
    • да
    • 2-3 байта являются 16-значными?
    • Да, это должно быть 16-значное значение, представляющее 42порядок, ожидаемый от первых двух байтов.
    • и, что байты 4-7 являются 32-битным числом
    • да. Его значение должно быть правильно истолковано в соответствии с порядком байтов, подтвержденным ранее.

Младшая последовательность,

0x49 0x49 0x2A 0x00 0x67 0x45 0x23 0x01 ... ---- ---- --------- ------------------- 

Может быть представлен в формате с прямым порядком байтов как,

0x4D 0x4D 0x00 0x2A 0x01 0x23 0x45 0x67 ... ---- ---- --------- ------------------- 

Где слово имеет значение 19088743.

Возможно, эта ссылка поможет вам лучше.
Также обратите внимание на мой предыдущий комментарий к последовательности байтов и словам в другом ответе ...