6个版本

0.2.1 2024年5月24日
0.2.0 2023年6月9日
0.1.3 2020年6月12日
0.1.2 2018年7月30日
0.1.1 2018年5月9日

#90 in 压缩

Download history 233/week @ 2024-04-25 466/week @ 2024-05-02 474/week @ 2024-05-09 656/week @ 2024-05-16 645/week @ 2024-05-23 147/week @ 2024-05-30 348/week @ 2024-06-06 394/week @ 2024-06-13 497/week @ 2024-06-20 316/week @ 2024-06-27 433/week @ 2024-07-04 503/week @ 2024-07-11 420/week @ 2024-07-18 565/week @ 2024-07-25 320/week @ 2024-08-01 379/week @ 2024-08-08

1,797每月下载量
用于 seripack

MIT 协议

41KB
405

Blosc

Rust对C-Blosc块压缩库的绑定。

Build Status

blosc 包为 C-Blosc,一个用于二进制数据的压缩库,特别是针对数值数组,提供Rust绑定。

使用方法

# Cargo.toml
[dependencies]
blosc = "0.1"
extern crate blosc;

fn main() {
    let data: Vec<u32> = vec![1, 1, 2, 5, 8, 13, 21, 34, 55, 89, 144];
    let ctx = blosc::Context::new();
    let compressed = ctx.compress(&data[..]);
    let decompressed = decompress(&compressed).unwrap();
    assert_eq!(data, decompressed);
}

许可证

blosc 在MIT许可证下分发。有关详细信息,请参阅 LICENSE-MIT


lib.rs:

Rust对C-Blosc块压缩库的绑定。

Blosc是一个针对二进制数据的高性能压缩器,特别擅长压缩类似数据数组的压缩。例如,适合特定统计分布的浮点数,限制范围内的整数,或共享相同对齐方式的指针。它也适用于内容相似的Struct数组的压缩。

与大多数其他压缩库不同,Blosc是块导向的,而不是流导向的。当整个要压缩/解压缩的数据集一次性可用时,这种方法效果很好。

示例

let data: Vec<u32> = vec![1, 1, 2, 5, 8, 13, 21, 34, 55, 89, 144];
let ctx = Context::new();
let compressed = ctx.compress(&data[..]);
let decompressed = decompress(&compressed).unwrap();
assert_eq!(data, decompressed);

依赖关系

~260–750KB
~18K SLoC