rust-smaz is a pure Rust implementation of smaz - algorithm for compressing very short strings. See original C implementation smaz by antirez for information on smaz and the algorithm itself.
Add this to your Cargo.toml
:
[dependencies]
smaz = "0.1.0"
extern crate smaz;
use smaz::{compress,decompress};
fn main() {
let s = "string";
let compressed = compress(s.as_bytes());
println!("compress bytes: {:?}", &compressed);
let decompressed = decompress(&compressed).unwrap();
let origin = str::from_utf8(&decompressed).unwrap();
assert_eq!(s, origin);
}