#dbc #blast #dcl #datasus #pkware #enconding

datasus-dbc

将DATASUS的*.dbc文件解压缩为*.dbf文件

2个版本

0.1.1 2023年12月6日
0.1.0 2023年12月6日

#340 in 压缩

MIT许可

14KB
101

datasus-dbc

crates.io docs.rs

将通常在巴西DATASUS FTP服务器中找到的*.dbc文件解压缩为*.dbf文件。

*.dbc文件中使用的底层解压缩算法是PKWARE数据压缩库中的implode算法。此库使用了rust实现implode算法。此外,此库深受pysusDaniela Petruzalek的启发。我想感谢他们,没有他们的工作,这个库就不可能实现。

示例

要将*.dbc文件解压缩为*.dbf,请使用decompress

datasus_dbc::decompress("input.dbc", "output.dbf");

如果您想对*.dbc文件的读取方式有更多控制,可以将File或其他实现了Read的类型传递给into_dbf_reader,以获取解压缩内容的读取器。

use std::io::Read;

let dbc_file = std::fs::File::open("input.dbc").unwrap();
let mut dbf_reader = datasus_dbc::into_dbf_reader(dbc_file).unwrap();
let mut buf: Vec<u8> = Default::default();
dbf_reader.read_to_end(&mut buf).unwrap();
println!("{:?}", &buf[0..20]);

发现了一个错误吗?

如果您发现了错误或想要新功能,请随时在此创建问题!

依赖关系

~145KB