如何检测文件中使用的压缩类型?(如果未指定文件扩展名)

223*_*112 49 compression binary

如何检测文件上使用的压缩类型?(假设未指定.zip,.gz,.xz或任何其他扩展名).

此信息是否存储在该文件的标题中?

Mar*_*ler 74

您可以通过查看前几个字节来确定它可能是这些格式之一.然后,您应该测试它是否真的其中之一,使用相关实用程序对该格式的完整性检查,或者实际进行解压缩.

您可以在说明中找到标题格式:

其他:

  • zlib(.zz)格式描述,以两个字节(以位为单位)开始0aaa1000 bbbccccc,其中选择ccccc使得第一个字节被视为int16乘以256加上被视为int16的第二个字节是31的倍数.例如: 01111000(位)= 120(int16),10011100(位)= 156(int16),120*256 + 156 = 30876这是31的倍数
  • compress(.Z)以0x1f,0x9d开头
  • bzip2(.bz2)以0x42,0x5a,0x68开头

  • 如果你在Linux上,这里是你如何看待文件的前几个字节的十六进制表示:`xxd file` (6认同)

ct_*_*ct_ 45

如果你在Linux机器上,只需使用'file'命令.

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
$
Run Code Online (Sandbox Code Playgroud)


M.A*_*Ali 6

作为手动检查文件头的替代方法,您可以使用一些实用程序,如 TrID。链接指向跨平台命令行版本;对于 Windows,也有一个 GUI。