Tengo algunas cadenas que son aproximadamente 10K caracteres cada una. Hay mucha repetición en ellos. Son objetos JSON serializados. Me gustaría comprimirlos fácilmente en una matriz de bytes y descomprimirlos a partir de una matriz de bytes.¿Cómo puedo comprimir y descomprimir fácilmente cadenas a/desde matrices de bytes?
¿Cómo puedo hacer esto más fácilmente? Estoy buscando métodos para que pueda hacer lo siguiente:
String original = "....long string here with 10K characters...";
byte[] compressed = StringCompressor.compress(original);
String decompressed = StringCompressor.decompress(compressed);
assert(original.equals(decompressed);
Usaría InflatorInputStream/DeflatorOutputStream con ByteArrayInput/OutputStream. –
Hay una clase 'zip' fácil de usar por ahí ... editar - está aquí http://docs.oracle.com/javase/6/docs/api/java/util/zip/package-summary. html y parece usar las clases @peter mencionadas. –
¿Qué tal esto? http://stackoverflow.com/questions/3649485/how-to-compress-a-string –