【发布时间】:2013-10-07 21:04:15
【问题描述】:
如何检测文件上使用的压缩类型? (假设未指定 .zip、.gz、.xz 或任何其他扩展名)。
这些信息是否存储在该文件的标题中?
【问题讨论】:
标签: binary compression
如何检测文件上使用的压缩类型? (假设未指定 .zip、.gz、.xz 或任何其他扩展名)。
这些信息是否存储在该文件的标题中?
【问题讨论】:
标签: binary compression
您可以通过查看前几个字节来确定它可能是其中一种格式。然后,您应该使用相关实用程序对该格式的完整性检查或实际继续解压缩来测试它是否真的是其中之一。
您可以在描述中找到标题格式:
其他:
0xFD2FB528 的 4 字节幻数开始,可跳过的帧以 0x184D2A5? 开始(问号是从 0 到 F 的任何值)和字典以0xEC30A437 开头。file 命令【讨论】:
xxd file
od -tx1?
如果您使用的是 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
$
【讨论】:
作为手动检查文件头的替代方法,您可以使用一些实用程序,例如 TrID。链接指向跨平台命令行版本;对于 Windows,也有一个 GUI。
【讨论】:
如果您想确定用于压缩 linux 内核的算法,有一个脚本可以解决此问题,请参阅以下问题和答案:https://unix.stackexchange.com/a/553192/264065
【讨论】: