Skip to content

Latest commit

 

History

History
38 lines (26 loc) · 840 Bytes

README.md

File metadata and controls

38 lines (26 loc) · 840 Bytes

About

It's a compression tool like tar czf file.zip file1 file2 ..., but it does compression by using the huffman coding trees.

It does not work with directories, only with simple files for simplicity.

How it works

Follow the below steps and see it working

# compile huffman project
$ make

# compress similar to tar syntax
$ ./hufftar compress out.huff file1 file2 ...

$ ls -l out.huff

# decompress to folder 1/
$ mkdir 1/
$ ./hufftar extract out.huff 1/

# list the .huff compressed files
$ ./hufftar list out.huff

Get convinced it actually compresses

$ ./hufftar compress out.huff file1 file2 ...
$ tar cf out.tar file1 file2 ...
# Compare their sizes, out.tar only puts the files file1,file2 together without compression
# While out.huff should be significantly lower.
$ ls -l out.huff out.tar