Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/607011/txtz
Short string compression
https://github.com/607011/txtz
compression compression-algorithm cplusplus cplusplus-17 educational educational-project shannon-fano shannon-fano-algorithm strings text text-mining
Last synced: about 4 hours ago
JSON representation
Short string compression
- Host: GitHub
- URL: https://github.com/607011/txtz
- Owner: 607011
- License: mit
- Created: 2023-05-18T13:55:07.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-08-21T19:02:34.000Z (3 months ago)
- Last Synced: 2024-08-22T10:07:42.891Z (3 months ago)
- Topics: compression, compression-algorithm, cplusplus, cplusplus-17, educational, educational-project, shannon-fano, shannon-fano-algorithm, strings, text, text-mining
- Language: C++
- Homepage:
- Size: 219 KB
- Stars: 2
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# txtz
**Short string compression**
THIS IS WORK IN PROGRESS. DO NOT EXPECT ANYTHING USEFUL IN THIS REPO AT THE MOMENT.
## Prerequisites
- C++ compiler (GCC, Clang)
- CMake 3.10 or later## Build
### Linux
Ubuntu
```
sudo apt install g++ libboost-all-dev
``````
git clone https://github.com/607011/txtz.git
cd txtz
git submodule update --init
git submodule update --remote --merge
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
```### macOS
```
git clone https://github.com/607011/txtz.git
cd txtz
git submodule update --init
git submodule update --remote --merge
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
```### Windows
In Visual Studio Developer Console:
```
git clone https://github.com/607011/txtz.git
cd txtz
git submodule update --init
git submodule update --remote --merge
md build
cd build
cmake ..
cmake --build . --config Release
```## Remarks
By default, Huffman encoding is used to build the binary tree. You can change that to Shannon-Fano encoding by setting `MAPBUILDING_ALGO` to `shannon-fano` instead `huffman` when calling `cmake` to configure the project:
```
cmake -DMAPBUILDING_ALGO=shannon-fano -DCMAKE_BUILD_TYPE=Release ..
```TODO!!!
## License
See [LICENSE](LICENSE).