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压缩 分类中

Download history 1337/week @ 2024-04-17 957/week @ 2024-04-24 1193/week @ 2024-05-01 1066/week @ 2024-05-08 1404/week @ 2024-05-15 1672/week @ 2024-05-22 1174/week @ 2024-05-29 1276/week @ 2024-06-05 1271/week @ 2024-06-12 2051/week @ 2024-06-19 948/week @ 2024-06-26 564/week @ 2024-07-03 1335/week @ 2024-07-10 1284/week @ 2024-07-17 966/week @ 2024-07-24 1939/week @ 2024-07-31

5,681 每月下载量
用于 80 个crate(16 直接)

MIT 许可证

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