CatgirlIntelligenceAgency/code/libraries/big-string
Viktor Lofgren aa0d256d6a Upgrade code to Java 20.
* Change language version
* Upgrade Lombok to a JDK20 compatible version
2023-08-23 13:37:49 +00:00
..
src (big-string) Make big-string disable:able 2023-07-21 19:50:35 +02:00
build.gradle Upgrade code to Java 20. 2023-08-23 13:37:49 +00:00
readme.md (controller) Improve the storage interface 2023-07-21 19:56:16 +02:00

Big String

Microlibrary that offers string compression. This is useful when having to load tens of thousands of HTML documents in memory during conversion. XML has been described as the opposite of a compression scheme, and as a result, HTML compresses ridiculously well.

Configuration

If the Java property 'bigstring.disabled' is set to true, the BigString class will not compress strings.

Demo

List<BigString> manyBigStrings = new ArrayList<>();

for (var file : files) {
    // BigString.encode may or may not compress the string 
    // depeneding on its size
    manyBigStrings.add(BigString.encode(readFile(file)));
}

for (var bs : manyBigStrings) {
    String decompressedString = bs.decompress();
    byte[] bytes = bs.getBytes();
    int len = bs.getLength();
}