Чтение заголовка CR2 (Raw Canon Image) с использованием Python

Я пытаюсь извлечь дату / время, когда был сделан снимок, из CR2 (формат Canon для необработанных изображений).

Я знаю спецификацию CR2 и знаю, что могу использовать модуль Python struct для извлечения фрагментов из двоичного буфера.

Вкратце, в спецификации говорится, что в Tag 0x0132 / 306 Я могу найти строку длиной 20 - дату и время.

Я попытался получить этот тег, используя:

struct.unpack_from(20*'s', buffer, 0x0132)

но я получаю

('\x00', '\x00', "'", '\x88, ...[and more crap])

Есть идеи?

Править

Большое спасибо за кропотливую работу! Ответы феноменальны, и я многое узнал об обработке двоичных данных.

10
задан Escualo 13 September 2010 в 06:13
поделиться