https://github.com/cronokirby/huffman-rs
An implementation of Huffman coding
Science Score: 13.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.1%) to scientific vocabulary
Keywords
Repository
An implementation of Huffman coding
Basic Info
- Host: GitHub
- Owner: cronokirby
- License: mit
- Language: Rust
- Default Branch: master
- Size: 55.7 KB
Statistics
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 1
- Releases: 0
Topics
Metadata Files
README.md
Huffman
This is a little command line program using Huffman Coding to compress and decompress files
Usage
```
USAGE:
huffman
FLAGS: -h, --help Prints help information -V, --version Prints version information
SUBCOMMANDS:
decode Decode a file
encode Encode a file
help Prints this message or the help of the given subcommand(s)
``
Huffman features 2 modes, encoding and decoding. The typical use case is first using theencode
command to compress a file, and then thedecode` file to decompress it later.
Encoding
``` USAGE: huffman encode -o
FLAGS: -h, --help Prints help information -V, --version Prints version information
OPTIONS: -o
ARGS: The input file to encode ``` This encodes a file by counting the occurrences of each byte in the file, and using that to construct a Huffman tree and assign a bit pattern to each byte. The output is a binary file, prefixed with the byte counts, and then followed by a stream of encoded bytes. Because we include the byte counts at the start of the file, we can rebuild the Huffman tree when decompressing the file.
Decoding
``` USAGE: huffman decode -o
FLAGS: -h, --help Prints help information -V, --version Prints version information
OPTIONS: -o
ARGS: The input file to decode ``` This is the reverse of the encoding operation. This must be used on a file encoded with the same version of the program, otherwise unkown results will happen.
Owner
- Name: Lúcás Meier
- Login: cronokirby
- Kind: user
- Location: Seattle
- Website: https://cronokirby.com
- Repositories: 177
- Profile: https://github.com/cronokirby
"apprentice cryptographer"
GitHub Events
Total
Last Year
Issues and Pull Requests
Last synced: 11 months ago
All Time
- Total issues: 1
- Total pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Total issue authors: 1
- Total pull request authors: 0
- Average comments per issue: 0.0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- cronokirby (1)