How good the compression of your string will be depends on the data you want to compress. If it consists mainly of random data you won't achieve that much improvements in size. There are many algorithms out there which have been designed for specific usage.
You should try to determine what your data to compress mainly consists of and then select a proper compression.
Just now I can only refer you to bzcompress, bzip has usually highter compression rates than gzip.