我有一个由PHP gzcompress($ string)
编写的压缩字符串我需要在QT上用C ++阅读它。
非常感谢任何帮助!
答案 0 :(得分:1)
答案 1 :(得分:1)
您可以使用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。
祝你好运, 吨。