Есть ли способ найти тип файла? - PullRequest
0 голосов
/ 06 ноября 2019

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

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

1 Ответ

0 голосов
/ 06 ноября 2019

Да, можно определить тип файла, не используя расширение файла. Вы можете сделать это, прочитав заголовок файла, который также иногда называют сигнатурой файла, который занимает первые несколько байтов файла.

Сколько байтов занимают заголовок / подпись файла? Это зависит от типа файла к типу файла. Поэтому вам следует проверить в Интернете более подробную информацию о заголовке / подписи файла для определенного типа файла, который вы хотите идентифицировать.

Вы можете найти список некоторых более популярных подписей Список подписей файлов - Википедия

PS: большинство программ перестали полагаться только на подписи файлов для определения пути к файлу, когда появилась первая Windows. Основной причиной этого был тот факт, что в начале расширения файлов были ограничены длиной в три символа (предел старых файловых систем, таких как старые FAT8 или FAT16), мир быстро исчерпал возможные расширения файлов, поэтому несколько программ начали использовать один и тот же файл. расширения, но используются совершенно разные типы файлов. Таким образом, сохраняя заголовок / подпись файла в начале файла, вы больше не будете ограничены этим ограничением файловой системы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...