Tôi có một số chuỗi có kích thước khoảng 10K ký tự. Có rất nhiều sự lặp lại trong chúng. Chúng là các đối tượng JSON được tuần tự hóa. Tôi muốn dễ dàng nén chúng vào một mảng byte, và giải nén chúng khỏi một mảng byte.Làm thế nào tôi có thể dễ dàng nén và giải nén các chuỗi đến/từ mảng byte?
Tôi có thể dễ dàng thực hiện việc này bằng cách nào? Tôi đang tìm phương pháp để tôi có thể làm như sau:
String original = "....long string here with 10K characters...";
byte[] compressed = StringCompressor.compress(original);
String decompressed = StringCompressor.decompress(compressed);
assert(original.equals(decompressed);
Tôi sẽ sử dụng InflatorInputStream/DeflatorOutputStream với ByteArrayInput/OutputStream. –
Có một lớp 'zip' dễ sử dụng ở đó ... chỉnh sửa - nó ở đây http://docs.oracle.com/javase/6/docs/api/java/util/zip/package-summary. html và dường như sử dụng các lớp @peter được đề cập. –
Làm thế nào về điều này? http://stackoverflow.com/questions/3649485/how-to-compress-a-string –