问题标签 [pkzip]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - PowerBI .pbix DataMashup 压缩目录
我正在尝试.pbix
使用 python 的zipfile
库检查 PowerBI 文件。
解压缩.pbix
存档时,我得到以下结构:
DataMashup
存档中的文件似乎是目录的.pbix
某种非品牌存档。
该DataMashup
对象似乎没有被压缩,因为我可以xml
在 python 解释器中打印对象时轻松读取数据。
使用7zip
我可以访问以下内容:
如何发现DataMashup
存档中存档的格式?
一个线索在对象顶部的二进制数据中DataMashup
:\x00\x00\x00\x00\x07\x05\x00\x00PK
这可能表示 pkzip。
尝试unzip
在DataMashup
文件上使用时,另一个线索可能是此输出:
我能够使用以下命令解压缩DataMashup
linux 上的目录7za
:
尽管有警告,但文件看起来还不错。不幸的是,这对我在 Windows 上没有帮助。
python - 如何在 python 中读取用 pkzip 编写的 zip 文件?
我正在尝试读取用 pkzip 编写的 python 中的 zip 文件:
但是得到这个错误:
据我所知,这个文件不跨越多个磁盘。我这样说是因为:
检查此 Stackoverflow 答案中的解决方案,我的 zipfile 版本已适当修补。
它可以很好地解压缩:
在 linux 命令行上。
因此,它实际上似乎并不是一个糟糕的 zip 文件。通过使用原始文件访问打开它来读取前几个字节,有一个暗示性的标题,PKzip 可能正在以一种有趣的方式格式化这个文件:
检查 zipfile 的 python 库文档,有一个 PKZIP 应用说明:
ZIP 文件格式是一种常见的存档和压缩标准。该模块提供了创建、读取、写入、附加和列出 ZIP 文件的工具。此模块的任何高级使用都需要了解 PKZIP 应用说明中定义的格式。
链接在这里。这是非常彻底的,但我没有看到有关如何将哪些选项添加到对 zipfile 的调用以正确解析文件的具体说明。
PKZIP 的使用相当广泛,所以我很惊讶没有找到更常见的示例或原生支持。在 python 中打开一个引发此多磁盘错误的 pkzipped 文件需要哪些选项?
encryption - 什么是 Zip 强加密规范/SecureZip 密钥派生功能?
在https://pkware.cachefly.net/webdocs/casestudies/APPNOTE.TXT的 (PK)ZIP 规范中,特别是在强加密规范 (SES) 部分中,有一行关于从密码派生密钥:
是什么DeriveKey
?
(在https://www.winzip.com/en/support/aes-encryption/上的 WinZip 的 AES 文档中,他们使用 PBKDF2 进行了 1000 次迭代。我在 APPNOTE 中没有看到任何类似的解释)
gzip - GZIP 和 PKZIP 文件中的压缩字节是否兼容?
这个问题是“zlib、gzip 和 zip 有什么关系?它们有什么共同点以及它们有何不同?”的后续问题。答案非常详细,但他们从未完全回答我的具体问题。
给定一个有效的 GZIP 文件,我是否总是能够提取其中的 deflate-bytes 并使用这些字节构造一个具有相同内容的有效 PKZIP 文件,而无需解压缩和重新压缩该字节流?
例如,假设我有一组 GZIP 文件。我是否可以编写一个程序,通过从源文件中删除 GZIP 标头并围绕字节流构建 PKZIP 结构来快速(通过避免放气/膨胀)构造这些文件的等效 PKZIP 文件?(通过获取任何有效的 PKZIP 文件并快速将它们转换为许多 GZIP 文件,也同样如此?)
两种文件格式似乎都使用相同的“放气”算法,但它是完全相同的放气算法吗?
c# - 如何在 Azure Blob 存储中解压缩自解压 Zip 文件?
我有一个可以使用 7zip 解压的 zip 文件(.Exe - 自解压 zip 文件)。由于我想自动化提取过程,我使用了下面的 C# 代码。它适用于普通的 7z 文件。但是当我尝试提取特定的自解压 (.Exe) zip 文件时,面对这个问题“无法访问关闭的流”。供参考。我手动确保 7zip 命令行版本正在解压缩文件。
zip 文件位于 Azure blob 存储中。我不知道如何在 blob 存储中获取提取的文件。