Иногда я получаю файлы от моих клиентов, у которых неправильное расширение файла. Например, имя image.jpg
но файл на самом деле является изображением TIFF. Во многих случаях я могу это прояснить, открыв файл в текстовом редакторе, посмотрев первые несколько байтов, затем выведя, какой тип файла он есть.
Это работает для меня с файлами JPEG, TIFF, GIF и PDF. Однако существует много других типов файлов.
Можно ли автоматизировать идентификацию правильного типа файла путем анализа содержащихся данных?
Вы можете использовать TrID который имеет растущую библиотеку определений типов файлов для идентификации файлов.

Подстановочные знаки поддерживаются, поэтому в вашем примере вы можете просто поместить все изображения в папку, например. C: \ verifyimages - тогда вы можете использовать команду:
trid C:\verifyimages\*
Это рассмотрит все файлы в verifyimages
папка.
Существует также версия GUI, TrIDNet:

Существует документация о том, как вы можете легко интегрировать TrID или TrIDNet в Windows Explorer и Total Commander:
проводник Виндоус
Total Commander
файл
файл проверяет каждый аргумент в попытке его классифицировать. В этом порядке выполняются три набора тестов: тесты файловой системы, тесты магических чисел и языковые тесты. первый тест, который преуспевает, вызывает печать типа файла.
Печатный тип обычно содержит одно из слов текст (файл содержит только печатные символы и несколько общих управляющих символов и, вероятно, безопасен для чтения на терминале ASCII), исполнимый (файл содержит результат компиляции программы в форме, понятной для какого-либо ядра UNIX или другого), или данные что-то другое (данные обычно «двоичные» или не подлежащие печати). Исключениями являются известные форматы файлов (основные файлы, архивы tar), которые, как известно, содержат двоичные данные.
Я работал в Французской национальной библиотеке, чтобы создать систему цифрового архива, которая содержит не только оцифрованные книги, но и миллионы цифровых артефактов со всеми типами странных типов файлов. Мы использовали JHOVE для распознавания форматов файлов.
JHOVE является открытым исходным кодом, он поддерживается JSTOR и Библиотекой Гарвардского университета. Довольно просто использование,
я использую Библиотеки Oracle OutsideIn в моих программах. Не бесплатно, но они хорошо работают, особенно для изображений. Говоря о рынке, он поддерживает более 500 типов файлов.
Вы можете проверить тип файла с любого компьютера, включая окна в
http://www.checkfiletype.com