Вы можете использовать qUncompress: http://doc.trolltech.com/4.6/qbytearray.html#qUncompress
Обратите внимание, что вам нужно предварительно указать ожидаемую несжатую длину.
Пример кода (на C ++):
QByteArray aInCompBytes;
QByteArray aInUnCompBytes;
QByteArray aInCompBytesPlusLen;
int currentCompressedLen = <<read_this>>;
int currentUnCompressedLen = <<read_this>>;
aInCompBytes.resize(currentCompressedLen);
char slideStr[currentCompressedLen];
int slideByteRead = in.readRawData(slideStr, currentCompressedLen);
aInCompBytes = QByteArray(slideStr, slideByteRead);
aInCompBytesPlusLen = aInCompBytes;
aInCompBytesPlusLen.prepend(QByteArray::number(currentUnCompressedLen));
aInUnCompBytes.resize(currentUnCompressedLen);
aInUnCompBytes = qUncompress(aInCompBytesPlusLen);
Несжатые данные будут в aInUnCompBytes.
Вы должны читать / знать сжатый len и несжатый len.
Это не было проверено, поскольку у меня сейчас нет Qt на моей машине.
С наилучшими пожеланиями,
Т.