Ответ 1
Вы можете определить, что он, вероятно, будет одним из этих форматов, просмотрев первые несколько байтов. Затем вы должны проверить, действительно ли это один из них, используя проверку целостности из связанной с этим утилиты для этого формата или, фактически, приступить к распаковке.
Вы можете найти форматы заголовков в описаниях:
- описание формата zip (.zip), начинается с 0x50, 0x4b, 0x03, 0x04 (если пусто - тогда последние два равны 0x05, 0x06 или 0x06, 0x06 )
- описание формата Gzip (.gz), начинается с 0x1f, 0x8b, 0x08
- описание формата xz (.xz), начинается с 0xfd, 0x37, 0x7a, 0x58, 0x5a, 0x00
Другие:
- описание формата zlib (.zz), начинается с (в битах) 0aaa1000 bbbccccc, где ccccc выбирается так, что первый байт времени 256 плюс второй байт кратное 31.
- compress (.Z) начинается с 0x1f, 0x9d
- bzip2 (.bz2) начинается с 0x42, 0x5a, 0x68