.Net unterstützt zwei Komprimierungsformate: GZip und Deflate. Ich habe es versucht und es gab keinen Unterschied im Komprimierungsverhältnis oder in der Geschwindigkeit. Unter anderem kann GZip mit WinRAR geöffnet werden.
Die Verwendung ist sehr einfach. Das folgende Programm komprimiert einen String in eine Datei:
using (DeflateStream gzip = new DeflateStream(fs, CompressionMode.Compress))
{
byte[] buf = Encoding.UTF8.GetBytes(this.txbSource.Text);
gzip.Write(buf, 0, buf.Length);
gzip.Flush();
}
Die Dekomprimierung erfordert nur Folgendes:
gzip = new GZipStream(new MemoryStream(buf), CompressionMode.Decompress);
using (StreamReader-Reader = new StreamReader(gzip))
{
this.txbTarget.Text = reader.ReadToEnd();
}
Wenn Sie eine Datei dekomprimieren, ändern Sie einfach den MemoryStream in einen FileStream.
Natürlich müssen Sie Folgendes hinzufügen: using System.IO.Compression;
http://www.cnblogs.com/fujingqiu/archive/2006/10/29/543347.html