Skip to content

Compression and Decompression a la Shannon's algorithm

License

Notifications You must be signed in to change notification settings

callpraths/cshannon

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status fuzzit

cshannon

This is a pet project.
All plans are funny money,
code quality is (hopefully) reasonable,
and readability is prioritized over efficiency.

A library of some early compression algorithms based on replacement schemes.

This library implements the standard Huffman coding scheme and two precursors to the Huffman scheme often called Shannon-Fano coding.

Usage

cshannon provides a binary that can be used for compression / decompression at the command line and a library that can be integrated into other projects.

Run cshannon --help to see the command-line options for the binary.

The easiest way to use cshannon library is:

use cshannon::{Args, run};

run(Args{
    command: "compress",
    input_file: "/path/to/input_file",
    output_file: "/path/to/output_file",
    tokenizer: "byte",
    encoding: "fano",
});

About

Compression and Decompression a la Shannon's algorithm

Resources

License

Stars

Watchers

Forks

Packages

No packages published