#byte-slice #string #meant #data #compression #lossless #type

bpack

快速、简单且易于使用的数据压缩库,旨在与String和str类型的字节切片一起工作

2个版本

0.1.1 2020年11月15日
0.1.0 2020年11月15日

#2196 in Rust模式

MIT/Apache

50KB
587

BPack

BPACK是一个Rust库,用于压缩String和str类型的字节切片。

bpack是一个无损压缩库,旨在减小包含32到126(含)之间的95个ASCII字符的数据(最多65535字节)的大小。换句话说,它旨在与String和/或str类型的字节切片一起工作。它在Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz上压缩65535字节大约需要12ms,解压大约需要57ms。如果数据大小在2000到65535字节之间,则使用此库是有意义的。

用法

Cargo.toml

[dependencies]
bpack = "0.1.0"
use bpack::{pack, unpack};

fn main() {
    let data = "some very long string".as_bytes();

    if let Some(packed) = pack(data) {
        let unpacked = unpack(packed);
        assert_eq!(data, unpacked.as_slice());
    }
}


lib.rs:

bpack是一个无损压缩库,旨在减小包含32到126(含)之间的95个ASCII字符的数据(最多65535字节)的大小。换句话说,它旨在与String和/或str类型的字节切片一起工作。它在Intel(R) Core(TM) i5-4590 CPU @ 3.30GHz上压缩65535字节大约需要12ms,解压大约需要57ms。如果数据大小在2000到65535字节之间,则使用此库是有意义的。

无运行时依赖