The best alogorithm depends on the nature of your data. If they are, for instance, random values then you'll better don't even try to compress them.
If you need a guidance on a compression method then I suggest you the Salomon's book:
"Data Compression: The Complete Reference"[
^].
On the other hand, if you are searching for a ready-to-use library, then you have several options (they depend also on your favourite development platform, for instance,
.NET Framework
provides the
System.IO.Compression Namespace[
^]) and Google is you friend
friend[
^].