Skip to content
This repository has been archived by the owner on Dec 26, 2023. It is now read-only.

krasin/ezhik

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ezhik encoder and decoder.

ezhik.go is the encoder. Given the seed, it generates the encoding block.

For example,

go run ezhik.go --seed=17 --output=out < input.txt

generates the encoding block and stores it in out.17.ezhik:

$ ls -l *.ezhik
-rw-r--r-- 1 krasin krasin 3252 2012-02-25 22:55 out.17.ezhik

We can generate many blocks at once:

go run ezhik.go --seedCount=256 --output=out < input.txt

decode_ezhik.go is the decoder. It takes n=128 (default value for encoder and decoder) or more encoding blocks and reconstructs the source message.

Usually, 130 blocks are enough to reconstruct the message.

Currently, the decoder may add trailing zero bytes. To be fixed.

See https://en.wikipedia.org/wiki/Fountain_code for more details.

About

Ни головы, ни ножек

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages