2

У меня есть несколько файлов. Все они были созданы в разных операционных системах.

Есть ли способ определить, из какой ОС был создан каждый файл?

2 ответа2

7

В общем нет, не очень.

На практике это может быть возможно, но это зависит от файла и диска. Если это текстовый файл, вы можете определить ОС, которая его создала, с помощью переносов строк:

CR+LF = Windows
LF    = Linux
CR    = Mac

Конечно, это только используемые по умолчанию разрывы строк, и для каждой ОС есть текстовые редакторы, которые позволяют вам вручную указать, что использовать.

Если это бинарный файл, то, скорее всего, будет формат файла, который определяет формат его содержимого, поэтому невозможно узнать, какая ОС его создала.

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

Вы также можете получить некоторую информацию о происхождении файла через его метаданные (если таковые имеются).

2

В зависимости от типа файла у вас может получиться эвристический звук (Synetech указал один для текстовых файлов). Однако, если вы надеялись на какой-то отпечаток пальца, свойственный всем файлам, которые генерирует ОС (как с реализациями tcp/ip), я не думаю, что что-то подобное до сих пор существует.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .