Qt中压缩qCompress 和 解压缩qUncompress的用法

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();
}

猜你喜欢

转载自blog.csdn.net/wei375653972/article/details/86620190