A two dimensional RLE (run length encoding) implementation for one dimensional input data, e.g. Strings.
- Clone Project
- build Project and all dependencies with maven
mvn clean install
- if dependencies still missing (jcenter bug), run the dep.sh skript and try again
- alternatively you can just run the build.sh script
- to build jar run
mvn package -DskipTests
- run Test with maven surefire plugin
mvn surefire-report:report
to execute all Test cases and get the results shown as a report in html.
- build or download latest release
- run with JVM of your preference, but it performs better with the GraalVM instead of some Oracle or Open JVM
- further usage visible when run with
-h
or--help
Usage:
[action] [method] [preprocessing] -f [files...]
ACTION:
-c compress file (default)
-d decompress file
METHOD:
-v #,#,#,#,#,#,#,# vertical reading (default), optional run lengths used on bit of significance 1 to 8 (N in range [2,32])
-bin #N binary reading (with N bits per RLE encoded number, default 3)
-byte #N byte wise reading (with N bits per RLE encoded number, default 3)
PREPROCESSING:
-bwt apply Burrows-Wheeler-Transformation during encoding
-map apply Byte-mapping during encoding
-huf encode with Huffman encoding
DEBUG:
-D debug log level
The latest version of the thesis is found here