Как определить, является ли файл GIF или webp?

У меня есть файл с расширением .gif, но я подозреваю, что это ложь и на самом деле это webp. Как лучше всего узнать формат файла?


person ajma    schedule 12.10.2017    source источник
comment
В Linux/macOS, возможно, с file BadBoy.gif?   -  person Mark Setchell    schedule 12.10.2017


Ответы (2)


Просматривая содержимое файла и проверяя его магический номер. Для webp это WEBP, а для файла GIF это GIF87a/GIF89a.

Здесь у вас есть список всех магических чисел и их расположение в файле: https://en.wikipedia.org/wiki/List_of_file_signatures

person Marcin Orlowski    schedule 12.10.2017
comment
Я использовал команду здесь, чтобы получить магический номер stackoverflow.com/a/2147527/60117 - person ajma; 13.10.2017
comment
Я мог бы, вероятно, упомянуть file, но по какой-то причине (вы знаете, SO - это сайт разработчиков;) я предположил, что вам нужно сделать это из своего кода самостоятельно. - person Marcin Orlowski; 13.10.2017

Вы можете использовать TrID, приложение, которое использует содержимое файла для определения типа файла.

person JimBoh    schedule 12.10.2017