image - скачать - tiff формат чем открыть




Есть ли способ сделать вывод, какой формат изображения является файлом, не читая весь файл? (4)

Есть ли хороший способ увидеть, какой формат изображения, без необходимости читать весь файл в памяти?

Очевидно, что это будет отличаться от формата к формату (меня особенно интересуют файлы TIFF), но какая процедура была бы полезна для определения того, какой формат изображения является файлом без необходимости читать весь файл?

БОНУС : Что, если изображение представляет собой кодировку Base64? Любой надежный способ сделать это перед его расшифровкой?


Любой file в командной строке * nix или чтение начальных байтов файла. Большинство файлов имеют уникальный заголовок в первых байтах. Например, заголовок TIFF выглядит примерно так:

0x00000000: 4949 2a00 0800 0000
Для получения дополнительной информации о формате файла TIFF специально, если вы хотите знать, что означают эти байты, перейдите сюда .


Большинство форматов файлов изображений имеют уникальные байты в начале. Команда unix file смотрит в начало файла, чтобы увидеть, какой тип данных он содержит. См. Статью Википедии о магических числах в файлах и magicdb.org .


Полный список форматов файлов доступен по адресу:

http://www.wotsit.org


Конечно, есть. Как отмечали другие, большинство изображений начинаются с какого-то «Магического», который всегда переводится на некоторые данные Base64. Ниже приведены несколько примеров:

Qk3 изображение начнется с Qk3

Jpeg начнется с /9j/

GIF начнется с R0l (это нуль в качестве второго символа).

И так далее. Нетрудно взять разные типы изображений и выяснить, что они кодируют. Просто будьте осторожны, поскольку некоторые из них имеют более чем одну магию, поэтому вам нужно учитывать их в коде перевода B64.







tiff