1 个不稳定版本

0.1.0 2023年8月1日

#7 in #ass


asai 中使用

MIT 许可证

5KB
63

asai

asai是一个用于解析.ass文件的Rust库,该格式用于存储高级字幕站阿尔法字幕。

安装

将以下内容添加到您的Cargo.toml中

[dependencies]
asai = "0.1"

用法

如果您只想解析ass,可以使用asai根目录下的parse_str

use asai::structure::Ass;

fn main() {
    let data = "...";
    let ass = asai::parse_str(data);
    println!("{:?}", ass.styles); // Get styles
    println!("{:?}", ass.info); // Get info
    println!("{:?}", ass.events); // Get events
}

另一种方法是使用自定义结构来表示ass。这允许我们设置默认值并只解析所需字段。以下是一个示例

use asai_macro::FromLine;
use asai::structure::event::EventKey;
use asai::structure::Ass;

#[derive(FromLine, Debug)]
struct MyEvent<'a> {
    #[name("Text")]
    text: &'a str,
    #[name("Custom")]
    #[default("Some default value")]
    custom_field: &'a str
}

fn main() {
    let data = "...";
    let my_events: FormattedSection<EventKey, MyEvent> = Ass::parse_section("Events", data).unwrap();
}

依赖项

~315–770KB
~18K SLoC