Julia wrapper for the shoco string compression C library



Shoco Build Status Coverage Status

Shoco.jl is a Julia package that provides access to the compression and decompression functions in the Shoco C library. The algorithms are optimized for short strings and perform well in comparison to smaz, gzip, and xz. Compression is performed using entropy encoding.

Two functions are exported by this package: compress and decompress. Both accept a single AbstractString argument and return a String. It's important to note that the output from compress may not be valid UTF-8, which the String type doesn't care about, but your use case might.

Here's an example using the functions at the REPL.

julia> using Shoco

julia> compress("what's happening")
"؉'s ⎨ decompress("؉'s ⎨

The Shoco C library does not work on Windows due to lack of C99 support, which means that this package has the same restriction.

First Commit


Last Touched

9 months ago


31 commits