我無法用zlib和Qt解壓縮。 我有Asterix Cat 240協議(雷達視頻傳輸數據)提交的視頻數據,應該用zlib壓縮。 我存儲的數據QByteArray
內,並試圖將其解壓這樣的:解壓縮Zlib
QByteArray compressedRawVideoDataBlock;
QByteArray rawVideoDataBlock;
QVector <QVector <quint8>> videoDataBlock;
//Video Data
resize(rawAsterix.videoDataBlockREP);
for(int r = 0; r<videoDataBlockREP; r++)//index of Video Block
{
for(int b = 0; b<blockSize ; b++)//index of Video Byte
{
compressedRawVideoDataBlock.append(static_cast<quint8>(buffer->at(i)));
videoDataBlock[r].append(static_cast<quint8>(buffer->at(i)));
i++;
}
}
qDebug() << gzipDecompress(compressedRawVideoDataBlock, rawVideoDataBlock);
用於提煉,我想這個功能(Zlib QCompressor),但它始終返回false,我不知道爲什麼。
示例數據:
videoDataBlockREP=1
blockSize=64
compressedRawVideoDataBlock.toHex() = 7801edd0010d000000c2a0f74f6d0e37884061c0800103060c183060c0800103060c183060c0800103060c183060c0800103060cbc0f0c200000010000000000
循環中有什麼「我」? – Ilya
@Ilya它只是我的原始QByteArray的計數器,因爲我的緩衝區包含的數據多於壓縮的視頻數據 – honiahaka10