RE:compresion de cadenas de texto
Me temo que eso no se puede, o al menos, no tengo conocimientos de qué exista. De todas formas, no comprendo para que quieres comprimirla. Lo único que debes hacer si no quieres ocupar mucha stack (memoria estática), y esto se debe hacer siempre tanto con cadenas como con arrays, es pasar la cadena por referencia y no por valor, así la cadena no se duplica, si no que trabajas con la misma que has pasado. No sé si eso responde a tu pregunta. Espero que sí. XD.