对于保守的标题和我的问题本身,我感到非常抱歉,但我迷路了。
ICsharpCode.ZipLib 提供的示例不包括我正在搜索的内容。我想通过将 byte[] 放入 InflaterInputStream(ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream) 来解压缩它
我找到了一个解压功能,但它不起作用。
public static byte[] Decompress(byte[] Bytes)
{
ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream stream =
new ICSharpCode.SharpZipLib.Zip.Compression.Streams.InflaterInputStream(new MemoryStream(Bytes));
MemoryStream memory = new MemoryStream();
byte[] writeData = new byte[4096];
int size;
while (true)
{
size = stream.Read(writeData, 0, writeData.Length);
if (size > 0)
{
memory.Write(writeData, 0, size);
}
else break;
}
stream.Close();
return memory.ToArray();
}
它在 line(size = stream.Read(writeData, 0, writeData.Length);) 处引发异常,说它的标头无效。
我的问题不是如何修复该函数,该函数未随库提供,我只是在谷歌搜索中发现它。我的问题是,如何像使用 InflaterStream 函数一样解压缩,但无一例外。
再次感谢 - 抱歉保守的问题。