Skip to content

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.

License

Notifications You must be signed in to change notification settings

nobletk/compression_tool

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Compression Tool

Overview

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.

Features

  • 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.

Installation

  1. Clone the repository:

    git clone https://github.com/nobletk/compression_tool.git
    cd compression_tool
  2. Install dependencies:

    go mod tidy

Usage

Build

To build the project, use the Makefile:

make build

Compress file

To compress a text file:

go run ./cmd/app -i= filepath/input_file.txt -o=output_file.txt -c

Decompress file

To decompress a text file:

go run ./cmd/app -i= filepath/input_file.txt -o=output_file.txt -d

Testing

make test

About

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.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published