This is a pet project.
All plans are funny money,
code quality is (hopefully) reasonable,
and readability is prioritized over efficiency.
A library of some early compression algorithms based on replacement schemes.
This library implements the standard [Huffman coding] scheme and two precursors to the Huffman scheme often called [Shannon-Fano coding].
cshannon provides a binary that can be used for compression / decompression at the command line and a library that can be integrated into other projects.
Run cshannon --help
to see the command-line options for the binary.
The easiest way to use cshannon library is: ``` use cshannon::{Args, run};
run(Args{ command: "compress", inputfile: "/path/to/inputfile", outputfile: "/path/to/outputfile", tokenizer: "byte", encoding: "fano", }); ```