يدعم .Net تنسيقين للضغط: GZip وDeflate. لقد جربته ولم يكن هناك فرق في نسبة الضغط أو السرعة. من بينها، يمكن فتح GZip بواسطة WinRAR.
إنه سهل الاستخدام للغاية، حيث يقوم البرنامج التالي بضغط سلسلة في ملف:
باستخدام (DeflateStream gzip = new DeflateStream(fs, CompressionMode.Compress))
{
byte[] buf = Encoding.UTF8.GetBytes(this.txbSource.Text);
gzip.Write(buf, 0, buf.Length);
gzip.Flush();
}
يتطلب فك الضغط ما يلي فقط:
gzip = new GZipStream(new MemoryStream(buf), CompressionMode.Decompress);
باستخدام (قارئ StreamReader = StreamReader الجديد (gzip))
{
this.txbTarget.Text = Reader.ReadToEnd();
}
إذا كنت تقوم بفك الضغط عن ملف، فما عليك سوى تغيير MemoryStream إلى FileStream.
بالطبع، تحتاج إلى إضافة: باستخدام System.IO.Compression؛
http://www.cnblogs.com/fujingqiu/archive/2006/10/29/543347.html