2 releases
0.1.1 | Jul 3, 2020 |
---|---|
0.1.0 | May 20, 2020 |
#439 in Compression
120KB
3K
SLoC
cshannon
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.
Usage
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",
input_file: "/path/to/input_file",
output_file: "/path/to/output_file",
tokenizer: "byte",
encoding: "fano",
});
Dependencies
~5–15MB
~183K SLoC