3个版本
0.1.2 | 2020年5月17日 |
---|---|
0.1.1 | 2020年5月17日 |
0.1.0 | 2020年5月16日 |
#9 在 #riff
5KB
iffc
Electronic Arts IFF数据块编码和解码器,类似于Python的chunks
模块。此库可用于使用此格式的衍生格式(例如WAVE、RMI、AVI、TIFF)通过文件流进行读取或写入。
lib.rs
:
IFF是由Electronic Arts开发的二进制交换格式,用于对二进制数据进行标记以赋予其意义。此文件由被称为“数据块”的段组成。此格式主要用于存储多媒体,例如音频、视频、MIDI、图像。
此包提供数据结构和包装器,通过从文件流中读取和解析或写入和编码来轻松地操作此格式。
示例
从给定读取器解码所有可用的数据块
use iffc::Decoder;
fn main() {
let inp = std::io::Cursor::new(b"RIFF\x04\x00\x00\x00WAVE");
let parser = Decoder::new(Box::new(inp));
for chk in parser
{ println!("{:?}: {}", chk.0, chk.1.len()); }
}
将数据块编码到给定的写入器
use iffc::{Encoder, Chunk};
fn main() {
let out = std::io::Cursor::new(Vec::new());
let deparser = Encoder::new(Box::new(out));
deparser << Chunk(*b"RIFF", Box::new(*b"WAVE"));
}