2017-01-06 9 views
0

내가 ionic.zip gzipstream 압착기를 사용하고 바이트 [] 것이 아니라 압축 할 압축 해제하지만 바이트로 압축 할 때 [] 압축이Ionic.zip Gzipstream 압축 해제 한 상태가 좋지 (무효 저장 블록 길이)

말한

나쁜 상태는 내 코드는 노호

(무효 저장 블록 길이)

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()