上下文: 为了节省更多空间,我想使用一种算法进一步压缩 zip 存档中的一些文件,并使用另一种算法进一步压缩同一存档中的其他文件。稍后我需要恢复该过程以获取原始 zip 存档,因为 zip 文件归用户所有。
如何在 zip 存档中找到某些文件的压缩位以进行进一步处理?
语言:估计这种代码为了性能一般都是C/C++,不过C#也不错。
操作系统:Windows Server 2012 R2 或更高版本。
编辑: 我了解到,在 zip(zlib) 格式中,压缩文件是按 block 组织的。我们应该能够通过搜索标题来找到文件。仍在检查如何编码。
最佳答案
zip 文件格式已完整记录。例如http://www.fileformat.info/format/zip/corion.htm 您可以轻松找到其他来源和描述。
您要做的就是根据格式读取字节,并且您确切地知道某个文件的压缩位在哪里。您可以为此找到开源库,也可以使用您喜欢的语言推出自己的库。
顺便说一句,将其他压缩文件压缩到 zip 存档中可能不值得。
关于c# - 如何在 zip 存档中找到某些文件的压缩位以进行进一步处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50731938/