如何将ZIP存档解压缩到QByteArray
(C ++ Qt)?
我尝试解压缩使用QuaZip
和QZipReader
- 所有这些方法都需要将ZIP数据提取到某个文件目标(必须是QString
- 目标路径)。
感谢所有读过这个问题的人。
答案 0 :(得分:0)
您不能简单地“解压缩”到bytearray中,因为zip(与普通gz不同)包含多个文件和文件夹,而不仅仅是数据流。你会如何在单个bytearray中分离它们?
您可以做的是,在存档中提取每个文件(或单个文件,如果您的存档只包含一个文件)。QuaZipFile
继承QIODevice
。这意味着,您可以简单地对存档进行交互并提取其中的每个文件,并使用quaZipFile.readAll();
将数据作为bytearray获取。这将为zip存档中的每个文件提供一个bytearray。