1

バイト配列を解凍しようとしています。zip から .png ファイルを抽出したいからです。

私はこれを試しました:

var compressedData = ZlibStream.UncompressBuffer(cByteArray);

var uncompressedData = ZlibStream.CompressBuffer(compressedData);   

using(FileStream fs = new FileStream(@"F:\picture.png", FileMode.Create)){

fs.Write(uncompressedData, 0, uncompressedData);
}

しかし、次のエラーが発生しました: Bad state (不明な圧縮方法 (0x5C))

それで、データからファイルを取得する方法について誰でも助けてもらえますか。圧縮されたデータは、zip ファイルのエントリからのものです。したがって、ヘッダーは除外されます。

4

1 に答える 1

2

DeflateStreamではなく、使用してくださいZlibStream。前者は、未加工の圧縮データを zip ファイルにラップして処理します。後者は、zlib ラッパーでデータを圧縮する zlib ストリームを処理します。

于 2013-10-27T19:02:48.383 に答える