Awesome Open Source
Awesome Open Source



A huffman coding library and command line interface to the library. The encoder is a 2 pass encoder. The first pass generates a huffman tree and the second pass encodes the data. The decoder is one pass and uses a huffman code table at the beginning of the compressed file to decode the data.

libhuffman has functions for encoding and decoding both files and memory.

Makefile Build

To build:


To run unit tests:

make check

To run unit tests under valgrind:

make valgrind_check

CMake Build

To build:

mkdir build
cd build
cmake ..
cmake --build .

To run all tests:


To run unit tests:

ctest -R ^check$

To run unit tests under valgrind:

ctest -R ^valgrind_check$

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
c (15,721
compression (203
encoder (78
educational (45