.Net поддерживает два формата сжатия: GZip и Deflate. Я попробовал, и не было никакой разницы в степени сжатия или скорости. Среди них GZip можно открыть с помощью WinRAR.
Его очень просто использовать: следующая программа сжимает строку в файл:
using (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.
Конечно, вам нужно добавить: using System.IO.Compression;
http://www.cnblogs.com/fujingqiu/archive/2006/10/29/543347.html