.Net prend en charge deux formats de compression : GZip et Deflate. Je l'ai essayé et il n'y avait aucune différence de taux de compression ou de vitesse. Parmi eux, GZip peut être ouvert par WinRAR.
C'est très simple à utiliser, le programme suivant compresse une chaîne dans un fichier :
en utilisant (DeflateStream gzip = new DeflateStream(fs, CompressionMode.Compress))
{
byte[] buf = Encoding.UTF8.GetBytes(this.txbSource.Text);
gzip.Write(buf, 0, buf.Length);
gzip.Flush();
}
La décompression nécessite uniquement ceci :
gzip = new GZipStream(new MemoryStream(buf), CompressionMode.Decompress);
en utilisant (lecteur StreamReader = new StreamReader (gzip))
{
this.txbTarget.Text = reader.ReadToEnd();
}
Si vous décompressez un fichier, remplacez simplement le MemoryStream par un FileStream.
Bien sûr, vous devez ajouter : using System.IO.Compression ;
http://www.cnblogs.com/fujingqiu/archive/2006/10/29/543347.html