2017-01-06 4 views
0

iはionic.zip gzipstreamの圧縮を使用してバイトを解凍[]、 それは良く圧縮することができ、それはバイトから伸長するとき、[]がIonic.zip Gzipstream解凍、悪い状態(記憶されたブロック長を無効)

に言っ圧縮します

悪い状態(無効格納されたブロック長)

私のコードは、解凍コードがどの文書sである

Trace.WriteLine(s.Length); 
var b = Encoding.UTF8.GetBytes(s); 
Trace.WriteLine(b.Length); 

byte[] b2; 

var sw = new Stopwatch(); 
sw.Start(); 
using (var m = new MemoryStream()) 
{ 
    var stream = new GZipStream(m, CompressionMode.Compress,true); 
    stream.Write(b,0,b.Length); 
    stream.Flush(); 
    b2 = m.GetBuffer(); 
    stream.Close(); 
    sw.Stop(); 
    Trace.WriteLine(sw.ElapsedMilliseconds); 
    Trace.WriteLine(b2.Length); 
} 

using (var m2 = new MemoryStream()) 
{ 
    m2.Write(b2,0,b2.Length); 
    m2.Position = 0; 
    var stream = new GZipStream(m2,CompressionMode.Decompress,true); 
    var m3 = new MemoryStream(); 
    var buffer = new byte[1024]; 
    var n = 1; 
    while (n != 0) 
    { 
     n = stream.Read(buffer, 0, buffer.Length); 
     if (n > 0) 
     { 
      m3.Write(buffer,0,n); 
     } 
    } 
    var b3 = m3.GetBuffer(); 
    Trace.WriteLine(b3); 
} 

をベローズ援助。 here

他のドキュメントが見つかりませんでした。 解凍時にどうすればよいですか?

答えて

0

ああ~~~、それはとてもばかです。

byte []圧縮と解凍の方法があります。

GZipStream.CompressBuffer()およびGZipStream.UncompressBuffer()

関連する問題