C# comes with the GZip and Deflate algorithm for compression
system.IO.Compression
....
...
...
//GZIP
static void SaveCompressedFile(string filename, string data)
{
FileStream fileStream =
new FileStream(filename, FileMode.Create, FileAccess.Write);
GZipStream compressionStream =
new GZipStream(fileStream, CompressionMode.Compress);
StreamWriter writer = new StreamWriter(compressionStream);
writer.Write(data);
writer.Close();
}
static string LoadCompressedFile(string filename)
{
FileStream fileStream =
new FileStream(filename, FileMode.Open, FileAccess.Read);
GZipStream compressionStream =
new GZipStream(fileStream, CompressionMode.Decompress);
StreamReader reader = new StreamReader(compressionStream);
string data = reader.ReadToEnd();
reader.Close();
return data;
}
//replacing GZipStream with DeflateStream uses the Deflate algorithm
but like he said.. encrypted data does'nt compress well becuase the
algorithms just removes repeats.... it works well with strings that
have repetitions.
I would suggest not encrypting the text.... compress them first (they
end up somewhat encrypted , but someone could just read and uncompress
it with the above code) ... so you can try encrypting the compressed
data.
Hope i helped,
Gideon
Can anyone recommend a simple way to compress/decomress a String in .NET
1.1 ?