Подтвердить что ты не робот

Как определить тип сжатия, используемый в файле? (если не указано расширение файла)

Как определить тип сжатия, используемый в файле? (предполагая, что .zip,.gz,.xz или любое другое расширение не указано).

Эта информация хранится где-то в заголовке этого файла?

4b9b3361

Ответ 1

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

Вы можете найти форматы заголовков в описаниях:

Другие:

  • описание формата zlib (.zz), начинается с (в битах) 0aaa1000 bbbccccc, где ccccc выбирается так, что первый байт времени 256 плюс второй байт кратное 31.
  • compress (.Z) начинается с 0x1f, 0x9d
  • bzip2 (.bz2) начинается с 0x42, 0x5a, 0x68

Ответ 2

Если вы на Linux-сервере, просто используйте команду "файл".

http://en.wikipedia.org/wiki/File_(command)

$ mv foo.zip dink
$ file dink
dink: gzip compressed data, from Unix, last modified: Sat Aug  6 08:08:57 2011,
max compression
$

Ответ 3

Как альтернатива проверке заголовка файла вручную, вы можете использовать некоторую полезность, такую ​​как TrID. Ссылка указывает на версию кросс-платформенной командной строки; для Windows тоже есть GUI.