gpt4 book ai didi

binary - 如何检测文件使用的压缩类型? (如果没有指定文件扩展名)

转载 作者:行者123 更新时间:2023-12-02 07:06:32 25 4
gpt4 key购买 nike

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

此信息是否存储在该文件 header 的某个位置?

最佳答案

通过查看前几个字节,您可以确定它可能是其中一种格式。然后,您应该测试它是否真的是其中之一,使用该格式的关联实用程序的完整性检查,或者实际继续解压缩。

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

其他:

  • zlib (.zz) format description ,以两个字节(以位为单位)0aaa1000 bbbccccc 开始,其中选择 ccccc,以便第一个字节被视为 int16 乘以 256,加上第二个字​​节被视为 int16 是 31 的倍数。例如: 01111000(位) = 120( int16), 10011100(bits) = 156(int16), 120 * 256 + 156 = 30876,它是 31 的倍数
  • 压缩 (.Z) 以 0x1f、0x9d 开头
  • bzip2 (.bz2) 以 0x42、0x5a、0x68 开头
  • Zstandard (.zstd) format description ,帧以使用 little-endian 格式 0xFD2FB528 的 4 字节魔数(Magic Number)开头,可跳过帧以 0x184D2A5? 开头(问号是任何值从 0 到 F),字典以 0xEC30A437 开头。
  • magic database 中的更多格式来自file命令

关于binary - 如何检测文件使用的压缩类型? (如果没有指定文件扩展名),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19120676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com