This is a Huffman compression and decompression tool implemented in Go. It provides a simple command-line interface to compress and decompress files using Huffman encoding.
- Compress text files using Huffman encoding.
- Decompress files back to their original text format.
- Handles UTF-8 encoded input.
- Uses cli flags for input/output files and compress/decompress.
-
Clone the repository:
git clone https://github.com/nobletk/compression_tool.git cd compression_tool -
Install dependencies:
go mod tidy
To build the project, use the Makefile:
make buildTo compress a text file:
go run ./cmd/app -i= filepath/input_file.txt -o=output_file.txt -cTo decompress a text file:
go run ./cmd/app -i= filepath/input_file.txt -o=output_file.txt -dmake test