Qt中的压缩方法只适用于在Qt中使用,比如传输文件的时候,不适合对其他软件生成的压缩文件进行解压缩。
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QFile file("C:/Users/EasyGo/Pictures/IMG_00000003.jpg");
if(file.exists()){
qDebug() << "压缩前文件大小:" << file.size();
bool ok = file.open(QIODevice::ReadOnly);
if(ok){
QByteArray buffer = file.readAll();
//压缩
buffer = qCompress(buffer,-1);//使用默认的zlib压缩
qDebug() << "压缩后字节大小:" << buffer.size();
QFile writeFile("F:/aaa.jpg");
ok = writeFile.open(QIODevice::WriteOnly);
if(ok){
//解压缩
buffer = qUncompress(buffer);
qDebug() << "解压缩后字节大小:" << buffer.size();
writeFile.write(buffer);
qDebug() << "压缩后文件大小:" << writeFile.size();
}
}
}
return a.exec();
}