如何在不解压缩的情况下检查压缩类型?

how to check compression type without decompressing?

我在 nodejs 中编写代码来解压缩不同的文件类型(如 tar、tar.gz 等)

我没有可用的文件名。

目前我使用的是暴力解压。第一个成功的人获胜..

我想通过事先了解压缩类型来改进这一点。 有办法吗?

您的 "brute force" 方法实际上会非常有效,因为软件会非常快地确定它收到了错误的东西,通常是在前几个字节内。除了能用的那个。

您可以在 this answer 中查看常见格式的前缀字节列表。您还需要检测压缩格式中的 tar 格式,此处未详细说明。即使找到了匹配的前缀,还需要继续解压解码来验证假设,本质上就是你的暴力破解