8 releases
0.1.24 | Aug 27, 2020 |
---|---|
0.1.23 | Aug 14, 2020 |
#12 in #huffman-coding
16KB
353 lines
huffcomp
Huffman coding program for compression and decompression of text files.
Installation
If you're a Rust programmer, huffcomp can be installed with cargo
.
$ cargo install huffcomp
Building
huffcomp can be build from source code using the Rust compiler.
$ git clone https://github.com/AlexRiosJ/huffcomp.git
$ cd huffcomp
$ cargo build --release
Usage
It is possible for huffcomp to compress any kind of files that have UTF-8 valid encoding. (e.g. *.txt, *.c, *.rs, *.java, *.js)
To compress the file:
$ huffcomp -c <filename>
This command will generate a HUFF file (*.huff) which will have the same name as the original but with the huffcomp extension concatenated at the end.
To decompress a file it must have this extension and be compressed by huffcomp previously.
To decompress the file:
$ huffcomp -d <huffcomp_file>
Contribute
To contribute, please fork the repository. If you find any bugs, issues or suggestions, please post your Issues and create your Pull Requests.
Used Techniques
- Huffman Coding Tree implementation.
- Bit level operations.
- Write and read files.
Dependencies
~0.7–1.3MB
~30K SLoC