Skip to content

A set of compressing and encoding algorithms that uses emoji instead of bits.

License

Notifications You must be signed in to change notification settings

bgadrian/emoji-compress

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Emoji-compress

Emoji-compress is an open-source library, written in Go, as a side-project. We have ported a few known basic encoding and compression algorithms and added the emoji twist. Some of the methods may result in smaller texts (as in the number of characters), but larger in bytes.

All packages have unit tests and GoDocumentation. The project also contains a demo web server and website, which aren't supposed to be uses in a (serious, non-emojified) production env.

Demo

We have built a full working demo at emoji-compress.com

Packages

LZ78 is a lossless data compression algorithm, which form the basis of several ubiquitous compression schemes, including GIF and the DEFLATE algorithm used in PNG and ZIP.

source := "“No heart is so hard as the timid heart.”"
archive := "😀“😀N😀o😀 😀h😀e😀a😀r😀t🤣i😀s🤣s😂 😃a😆d🤣a😊 😇h😄 😇i😀m😀i😀d🤣h😄a😆t😀.😀”"

See more details here.

It is a simple encoding method, it is use to "humanize" hard to remember/recognize texts such as Hashes, keys, other encodes like base64, ip's and so on.

source := "127.0.0.1"
archive := "🙇🙈🙍🙀🙆🙀🙆🙀🙇"

See more details here.

Package dictionary is a small package that allows encoding (or compression) of strings by replacing each unique word with an emoji. Each compress generates a new dictionary and an encoded version of the text (archive), based on the words found in the text.

source := "“I felt happy because I saw the others were happy and because I knew I should feel happy, but I wasn’t really happy.”"
archive := "“I 😀 😬 😁 I 😂 🤣 😃 😄 😬 😅 😁 I 😆 I 😇 😉 😬, 😊 I 🙂’t 🙃 😬.”"
dictionary := '{"and":"😅","because":"😁","but":"😊","feel":"😉","felt":"😀","happy":"😬","knew":"😆","others":"😃","really":"🙃","saw":"😂","should":"😇","the":"🤣","wasn":"🙂","were":"😄"}'

See more details here.

Contributing

If you want us to add a new encoding algorithm, or you have found a bug or you just want to improve our project please add an issue our github tracker.

About

These project is built for fun and academic purposes in Go.

Copyright (c) 2017 B.G.Adrian & @Davidescus

About

A set of compressing and encoding algorithms that uses emoji instead of bits.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages