最近在用qt做解压.epub格式的电子书,由于.epub是遵循.zip格式的,所以可以用解压.zip的方法,但是我用qUncompress解压时要是出文件错误:qUncompress: Z_DATA_ERROR: Input data is corrupted
code :
QFile f(path);
if (!f.open(QIODevice::ReadOnly | QIODevice::Text))
qDebug()<<"open fail";
qDebug()<<"file name : "<<f.fileName();
QByteArray source = f.readAll();
unsigned int size = f.size();
qDebug()<<"size : "<<size;
QByteArray dataPlus;
dataPlus.push_back((char)((size >> 24) & 0xFF));
dataPlus.push_back((char)((size >> 16) & 0xFF));
dataPlus.push_back((char)((size >> 8) & 0xFF));
dataPlus.push_back((char)((size >> 0) & 0xFF));
dataPlus.append(source);
QByteArray unBytes = qUncompress(dataPlus);
qDebug()<<"uncompress leg : "<<unBytes.size();