Zlib解压缩第二个块数据(或称为窗口数据)

时间:2019-06-24 11:55:23

标签: dart zlib

解压缩第二个块数据,窗口大小为默认值(1 << 15 = 32k)。

我尝试使用raw = true。但这不起作用!

ZLibDecoder({this.windowBits: ZLibOption.defaultWindowBits,this.dictionary,this.raw: false}) 
{
    _validateZLibWindowBits(windowBits);
}

即使在c语言中,我也可以在Golang中解码相同的数据。

在第一个块之后,是否有任何新的方法来解码数据?

我尝试了连续解码,并使用新实例进行解码。都失败了。

注意:fp是文件读取处理程序。chunkSize= 1 << 15(32k)

// decode continuous, failed!

ZLibDecoder zlib = ZLibDecoder();
List<int> buf = List(chunkSize);
fp.setPositionSync(dataOffsetStart);
fp.readIntoSync(buf);
var a = zlib.convert(buf);
print('a=$a');
fp.readIntoSync(buf);
var b = zlib.convert(buf);
// decode with new instance also failed!

List<int> buf = List(chunkSize);
fp.setPositionSync(dataOffsetStart);
fp.readIntoSync(buf);
var a = ZLibDecoder().convert(buf);
print('a=$a');
fp.readIntoSync(buf);
var b = ZLibDecoder(raw: true).convert(buf);

0 个答案:

没有答案