Вопросы о EXIF ​​в шестнадцатеричной форме

Я пытаюсь понять часть заголовка EXIF ​​файла jpeg (в шестнадцатеричном формате) и то, как это понять, чтобы я мог извлекать данные, в частности информацию GPS . Хорошо это или плохо, но я использую VB.Net 2008 (извините, это то, что я могу понять прямо сейчас). Я извлек первые 64 КБ jpg в массив байтов и имею смутное представление о том, как организованы данные. . Используя документы спецификации EXIF, версии 2.2 и 2.3, я вижу, что есть теги, которые должны соответствовать фактическим последовательностям байтов в файле. Я вижу, что существует «GPS IFD» со значением 8825 (в hex). Я ищу в файле шестнадцатеричную строку 8825 (которая, как я понимаю, состоит из двух байтов 88 и 25), а затем я считаю, что есть последовательность байтов, следующая за 8825. Я подозреваю, что эти последующие байты обозначают, где в В файле с помощью смещения будут расположены данные GPS. Например, у меня есть следующие шестнадцатеричные байты, начиная с 88 25: 88 25 00 04 00 00 00 01 00 0 0 05 9A 00 00 07 14. Длина строки, которую я ищу, превышает 16 байт? У меня создается впечатление, что в этой строке данных он должен сообщать мне, где найти фактические данные GPS в файле.

Глядя на http://search.cpan.org/~bettelli/Image-MetaData-JPEG-0.153/lib/Image/MetaData/JPEG/Structures.pod # Exif_and_DCT , на полпути вниз по странице, говорится о том, что «Каждый блок IFD представляет собой структурированную последовательность записей, называемую на жаргоне Exif массивами взаимодействия. Начало 0-го IFD задается значением IFD0_Pointer. Структура IFD следующая: «

Итак, что такое IFD0_Pointer? Это связано со смещением? Я предполагаю, что смещение составляет очень много байтов от начальной точки. Если это правда, где это начало?

Спасибо за любые ответы.

Дейл

6
задан Dale Bridgford 26 September 2011 в 13:30
поделиться