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

2023-12-04

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

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


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

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

  • Zip (.zip) 格式说明,以 0x50、0x4b、0x03、0x04 开头(除非为空 — 那么最后两个是 0x05、0x06 或 0x06、0x06)
  • Gzip (.gz) 格式说明,以 0x1f、0x8b、0x08 开头
  • xz (.xz) 格式说明,以 0xfd、0x37、0x7a、0x58、0x5a、0x00 开头

Others:

  • zlib (.zz) 格式说明,以两个字节(以位为单位)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) 格式说明,帧以 4 字节幻数开头,使用小尾数法 format 0xFD2FB528,可跳过的帧开始于0x184D2A5?(问号是0到F之间的任意值),字典以0xEC30A437.
  • 还有一些格式魔法数据库来自file command
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 十六进制字符串的运行长度编码(包括换行符)

    我正在使用以下方法实现游程长度编码GZipStreamC winforms 应用程序中的类 数据以一系列由换行符分隔的字符串形式提供 如下所示 FFFFFFFF FFFFFEFF FDFFFFFF 00FFFFFF 在压缩之前 我将字符串转
  • 使用 IE11 的工作程序使用 multipart/form-data 发送二进制数据

    我正在尝试发送multipart form data来自 IE 的工作人员 我已经使用 Chrome Firefox Safari 完成了此操作formData对象 不支持IE 我需要一个手动的 我发送的二进制数据是 crypto js 加
  • 如何在 Web 服务器上设置 gzip 压缩?

    我有一个嵌入式网络服务器 总共有 2 兆空间 通常 您使用 gzip 文件对客户端有利 但这会节省我们在服务器上的空间 我读到你可以只 gzip js 文件并将其保存在服务器上 我在 IIS 上测试过 但没有任何运气 为了使这项工作成功 我
  • 将 Long 转换为 DateTime 从 C# 日期到 Java 日期

    我一直尝试用Java读取二进制文件 而二进制文件是用C 编写的 其中一些数据包含日期时间数据 当 DateTime 数据写入文件 以二进制形式 时 它使用DateTime ToBinary on C 为了读取 DateTime 数据 它将首
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • Crystal lang如何从http获取二进制文件

    In Ruby require open uri download open http example com download pdf IO copy stream download my file pdf 如何在水晶中做同样的事情 我们
  • 在 python 3 中压缩字符串?

    我不明白 在 2 X 中它起作用了 import zlib zlib compress Hello world 现在我有一个 zlib compress Hello world TypeError must be bytes or buff
  • AVAssetExportSession 输出文件

    AVAssetExportSession 输出文件应该是什么样子 我正在尝试压缩 ALAsset 项目中的视频 但它不起作用 我猜输出文件与它有关 这是我正在使用的代码 NSString destinationPath NSHomeDire
  • 在线 CSS 压缩不会消除 IE 黑客攻击

    是否有在线 CSS 压缩器不能消除任何 CSS 浏览器黑客攻击 例如 使用 cleancss com http www cleancss com 我设置的选项没有区别 它总是会删除 display用于 IE 显示内联块 hack a bor
  • 计算二进制的可能性总数?

    如何计算二进制在一个字节中可以拥有的可能性总数 00000000通过11111111 num of possibilities The total number is 2 to the power of the number of bits
  • R CMD INSTALL --build package --> “小插图丢失”

    问题 C gt Rcmd exe INSTALL build library C Users local aphalo Documents R win library 3 0 photobiology C gt Rcmd exe INSTA
  • 将这个 if-then 逻辑转换为布尔表达式?

    我在使这段代码更简洁 最好是单个布尔表达式 方面有点绞尽脑汁 这是我的代码 if d Unemployed if type Unemployed tmp Unemployed true else tmp Unemployed false
  • 我应该如何提取java中的压缩文件夹?

    我正在使用以下代码在 Java 中提取 zip 文件 import java io import java util zip class testZipFiles public static void main String args tr
  • 如何在 C++ 中操作和表示二进制数

    我目前正在尝试使用非常简单的前序遍历算法为霍夫曼树构建一个查找表 但我在执行非常基本的按位操作时遇到了困难 伪代码如下 void preOrder huffNode node int bit not sure how to represen
  • 压缩一组大整数

    我有一组整数 我希望对其有最紧凑的表示 我有以下限制 功能 它被设置 或者换句话说 一个唯一整数的列表 其中顺序并不重要 集合L的大小相对较小 通常为1000个元素 整数遵循 0 到 N 1 之间的均匀分布 其中 N 相对较大 例如 2 3
  • 两个 16 位数字相乘 - 为什么结果是 32 位长? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 如果我将两个 16 位数字相乘 结果将是 32 位长 但为什么会这样呢 对此有何明确解释 为了我的正确理解 其计算方法是 n 位数字乘以
  • 如何将二进制值列表转换为int32类型?

    我在 MATLAB 工作区中有一个小端格式的二进制数列表 我想将它们转换为 int32 a是由 0 和 1 组成的双向量 如下所示 a 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1
  • 如何判断一个int数是奇数还是偶数? (二进制方式)

    我想利用基础知识来提高代码效率 我知道在二进制系统中 当数字的最后一位是 1 时 这是奇数 0 是偶数 在python中如何用这种方式判断一个int数 python 是否提供了任何内置方法来执行此操作 和 1 000010100100010
  • 如何在java中获得整数的0填充二进制表示?

    例如 对于1 2 128 256输出可以是 16 位 0000000000000001 0000000000000010 0000000010000000 0000000100000000 I tried String format 16s
  • 我如何在java中读取二进制数据文件

    因此 我正在为学校做一个项目 我需要读取二进制数据文件并使用它来生成角色的统计数据 例如力量和智慧 它的设置是让前 8 位组成一个统计数据 我想知道执行此操作的实际语法是什么 是不是就像读文本文件一样 这样 File file new Fi

随机推荐

  • 正则表达式可以在在线正则表达式测试器中工作,但不能在.NET中工作

    下列demo在线工作正常 但当我尝试在 c NET 中运行它时却不行 var regex new RegularExpressionAttribute Assert IsTrue regex IsValid email protected
  • 如何保存内部存储器中录制的音频

    我正在开发的android应用程序 它有录音选项 我希望它将新的音频录制文件保存在设备的内部存储中 以便用户和其他应用程序都无法访问这些录制的音频文件 除非他们打开我的应用程序 我的主要困难是能够将该音频文件保存在内部存储中 我花时间回顾了
  • Kotlin 挂起函数递归调用

    突然发现递归调用挂起函数比调用相同的函数但没有调用要花更多的时间suspend修饰符 因此请考虑下面的代码片段 基本斐波那契数列计算 suspend fun asyncFibonacci n Int Long when n lt 2 gt
  • 在 C# 中使用异常抛出。对表演有影响吗?

    基本上 问题是 C 中的异常对性能影响大吗 避免异常重新抛出是否更好 如果我在代码中生成异常 会影响性能吗 对于问题本身的愚蠢感到抱歉 如果您担心异常性能 那么您就错误地使用了它们 但是 例外确实会影响性能
  • WCF 安全模型的概念概述?

    我目前正在使用 WCF 并尝试基于 API 密钥和签名实现自定义安全模型 类似于 Facebook Flickr OAuth 等的工作方式 有一些类 如 ServiceAuthorizationManager SecurityToken S
  • 使用 pyqtgraph 和线程进行实时绘图

    这有点长 第一部分只是问题的描述 第二部分是我的 修复 是否正确的问题 我从 python 编程开始 我创建了一个与 Arduino 通信的程序 该程序读取我们熔化实验室熔炉的温度 然后将温度用于 PID 算法 并将输出设置到 Arduin
  • glEnableVertexAttribArray 修改什么对象的状态?

    我想我理解 glEnableVertexAttribArray 的作用 它激活程序的特定属性 如果我错了 请纠正我 但我不明白哪个对象存储这些信息 是程序对象吗 也就是说 如果我这样做 glUseProgram program glEnab
  • 具有水平方向的 ItemsControl

    您是否知道从 ItemsControl 继承的具有水平方向项目的控件 只需更改用于托管项目的面板即可
  • 没有为类型“Firestore”定义 getter“实例”

    大家好 当我尝试声明 Firestore 实例时 他给出了此错误 我将 Flutter 升级到最新版本后发生的所有事情 最终databaseReference Firestore instance i use cloud firestore
  • JQuery 中的全球化不起作用

    我一直在关注斯科特 汉塞尔曼教程关于全球化 Javascript 验证 这是一个很棒的教程 让我更好地理解了我不太熟悉的主题 唯一的问题是它有点过时了 因为他提供的文件链接如下jquery glob fr js是无效的 但是您会被 Jque
  • 如何通过以圆形方式堆叠div来创建棒棒糖形状?

    如何以循环方式堆叠 div 其中最后一个 div 应位于第一个 div 下方但倒数第二个 div 上方 用css可以吗 任何帮助将不胜感激 请找到Codepen 给出示例代码片段 div class frame div class loll
  • 如何更改索引 UITableView 中侧面字母的颜色?

    我有一个带有字母索引的表格视图 并使用侧面字母快速浏览列表 对于那些不熟悉的人 使用这个 NSInteger tableView UITableView tableView sectionForSectionIndexTitle NSStr
  • 如何访问asp.net中动态创建的服务器控件

    我创建了一个网页 并用于动态地将服务器端控件添加到表中 我给他们单独分配了id 但我无法访问这些动态创建的服务器控件 C code protected void Page Load object sender EventArgs e if
  • Scala - 如何将 EitherT 与 Either 结合起来进行理解

    假设我有以下设置 def foo Either Error A def bar EitherT Future Error B case class Baz a A b B 我如何使用理解来实例化该类Baz 我尝试过 val res for
  • 删除未级联到sqlalchemy中的表

    我正在开发一个使用 sqlalchemy 0 6 的现有应用程序的扩展 该应用程序具有以非声明方式创建的 sqlalchemy 表 我试图在我的扩展中创建一个新表 其中外键列指向应用程序数据库中主表的主键 并且我以声明方式创建它 这一切都工
  • 在 Google 搜索中显示最后一个 Schema.org 面包屑条目?

    我正在尝试根据 Schema org 标记我的面包屑 以便在 Google 结果中获得面包屑 如下所示 首页 gt 分类 gt 当前页面 但根据我当前的标记 它只显示 首页 gt 分类 我的标记中是否缺少某些内容 示例页面 我正在使用 Wo
  • java中调用R-Rcaller

    我正在尝试通过使用 R 调用程序在 java 中使用 R 来实现集群 我正在尝试运行示例代码进行聚类验证 并且遇到大多数用户面临的常见错误 文件过早结束 package test import rcaller RCaller import
  • python http状态码

    我正在用 python 编写自己的目录破坏程序 并在安全可靠的环境中针对我的 Web 服务器进行测试 该脚本基本上尝试从给定网站检索常见目录 并查看响应的 HTTP 状态代码 它能够确定页面是否可访问 首先 该脚本读取一个包含所有要查找的有
  • 浮点加法 - 给出奇怪的结果..!

    当执行以下代码时 public class FPoint public static void main String args float f 0 1f for int i 0 i lt 9 i f 0 1f System out pri
  • 如何检测文件使用的压缩类型? (如果未指定文件扩展名)

    如何检测文件使用的压缩类型 假设未指定 zip gz xz 或任何其他扩展名 此信息是否存储在该文件的标头中的某个位置 你可以确定它是likely通过查看前几个字节来确定是其中一种格式 然后你应该测试一下是否真的is其中之一 使用该格式的相