https://github.com/phundrak/lzw-assignment
University assignment for the lzw compression algorithm
https://github.com/phundrak/lzw-assignment
assignment compression compression-algorithm cpp17 lzw lzw-algorithm lzw-compression lzw-compressor university-assignment
Last synced: 3 months ago
JSON representation
University assignment for the lzw compression algorithm
- Host: GitHub
- URL: https://github.com/phundrak/lzw-assignment
- Owner: Phundrak
- License: gpl-3.0
- Created: 2018-03-21T09:27:24.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-27T14:39:36.000Z (over 6 years ago)
- Last Synced: 2025-02-04T19:38:48.784Z (4 months ago)
- Topics: assignment, compression, compression-algorithm, cpp17, lzw, lzw-algorithm, lzw-compression, lzw-compressor, university-assignment
- Language: C++
- Size: 165 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
[](https://circleci.com/gh/Phundrak/lzw-assignment/tree/master)
[](https://travis-ci.org/Phundrak/lzw-assignment)
[](https://www.codacy.com/app/Phundrak/lzw-assignment?utm_source=github.com&utm_medium=referral&utm_content=Phundrak/lzw-assignment&utm_campaign=Badge_Grade)
[](https://www.codefactor.io/repository/github/phundrak/lzw-assignment)
[](https://sonarcloud.io/dashboard?id=Phundrak_lzw-assignment)
[](http://spacemacs.org)# LZW Compressing tool
This is a university assignment for which I aim to create an LZW algorithm implementation to create a small tool similar to `gzip` and `gunzip` that can compress and uncompress files in a lossless fashion.
This project is written is C++17, compiled with clang under a UNIX environment. Other compilers and environments will not be tested.
## How to use it
Currently, five different options are available to the user:
- `-h` or `--help` will show how to use `projet_lzw`
- `-c` or `--compress` tells `projet_lzw` to compress the input file
- `-u` or `--uncompress` tells `projet_lzw` to uncompress the input file
- `-i ` or `--input ` specifies the input file to be compressed or uncompressed (**MANDATORY**)
- `-o ` or `--output ` specifies the name of the output file. If not used, the default output name for compression is `output.lzw`, and the default name for uncompressing is `_uncompressed`.By default, `projet_lzw` will uncompress the (mandatory) input file.
It is planned to add in the future a sixth option, `-p` or `--passes` that will allow to compress multiple times the input file.