31 次重大版本发布
0.32.0 | 2024 年 7 月 14 日 |
---|---|
0.30.0 | 2024 年 5 月 16 日 |
0.28.0 | 2024 年 3 月 28 日 |
0.26.0 | 2023 年 12 月 14 日 |
0.2.0 | 2021 年 7 月 21 日 |
#177 在 压缩 分类中
5,681 每月下载量
用于 80 个crate(16 直接)
125KB
3K SLoC
noodles-bgzf 处理分块 gzip 格式(BGZF)的读取和写入。
虽然 gzip 格式通常是单个流,但 BGZF 是多个 gzip 流的连接。每个流称为一个块,其未压缩数据大小限制在小于 64 KiB。这种多流 gzip 允许使用 virtual positions
进行随机访问。
noodles-bgzf 抽象了块的概念,为读取器实现了 std::io::Read
,为写入器实现了 std::io::Write
。
示例
读取整个 BGZF 文件
use noodles_bgzf as bgzf;
let mut reader = File::open("data.gz").map(bgzf::Reader::new)?;
let mut data = Vec::new();
reader.read_to_end(&mut data)?;
写入 BGZF 文件
use noodles_bgzf as bgzf;
let mut writer = File::create("data.gz").map(bgzf::Writer::new)?;
writer.write_all(b"noodles-bgzf")?;
依赖项
~0.8–2.4MB
~39K SLoC