compress a string