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 • Rust 包仓库 1337/week @ 2024-04-17 • Rust 包仓库 957/week @ 2024-04-24 • Rust 包仓库 1193/week @ 2024-05-01 • Rust 包仓库 1066/week @ 2024-05-08 • Rust 包仓库 1404/week @ 2024-05-15 • Rust 包仓库 1672/week @ 2024-05-22 • Rust 包仓库 1174/week @ 2024-05-29 • Rust 包仓库 1276/week @ 2024-06-05 • Rust 包仓库 1271/week @ 2024-06-12 • Rust 包仓库 2051/week @ 2024-06-19 • Rust 包仓库 948/week @ 2024-06-26 • Rust 包仓库 564/week @ 2024-07-03 • Rust 包仓库 1335/week @ 2024-07-10 • Rust 包仓库 1284/week @ 2024-07-17 • Rust 包仓库 966/week @ 2024-07-24 • Rust 包仓库 1939/week @ 2024-07-31 • Rust 包仓库

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