45 lines
875 B
Markdown
45 lines
875 B
Markdown
# Huffman archiver
|
|
|
|
An archiver that uses Huffman code for compression
|
|
|
|
## Building from source
|
|
|
|
#### Prerequisite Tools
|
|
|
|
* [Git](https://git-scm.com/download)
|
|
* [Go (version 1.17 or later)](https://go.dev/dl)
|
|
|
|
1. Install all prerequisite tools
|
|
2. Clone this repository
|
|
|
|
```bash
|
|
git clone https://ashley.sch9.ru/git/mrfoxygmfr/huffman-archiver
|
|
```
|
|
|
|
3. Build executable binary
|
|
|
|
```bash
|
|
go build -o huffman main.go
|
|
```
|
|
|
|
## Usage
|
|
|
|
#### Archiving
|
|
|
|
To archive a file, use the command
|
|
|
|
```bash
|
|
./huffman encode <archive name> <file name>
|
|
```
|
|
|
|
where `<file name>` is the name of the file to be compressed, `<archive name>` is the name of the archive to be created.
|
|
|
|
#### Unpacking
|
|
|
|
To unpack a file, use the command
|
|
|
|
```bash
|
|
./huffman decode <archive name> <file name>
|
|
```
|
|
|
|
where `<archive name>` is the name of the archive to unpack, `<file name>` is the name of the file to save.
|