3 个版本

0.1.2 2023年1月26日
0.1.1 2019年4月15日
0.1.0 2019年4月11日

#2122解析器实现


brawllib_rs 中使用

MIT 许可证

14KB
281

花式切片

Build Status dependency status Crates.io Docs

包装一个 &[u8] 切片,提供一整套工具。适用于编写需要反向工程解析器的二进制格式解析器。

大部分未经过测试,因此可能存在偏移量错误。 :P

启用 debug 功能以添加额外功能。您应该只在开发期间启用调试功能,因为它会在 FancySlice 中存储额外的数据,从而影响性能。

use fancy_slice::FancySlice;

fn main() {
    let data = vec!(4, 1, 3);
    let fancy_slice = FancySlice::new(&data);
    assert_eq!(fancy_slice.u8(0), 4);
    assert_eq!(fancy_slice.u8(1), 1);
    assert_eq!(fancy_slice.u8(2), 3);
    assert_eq!(fancy_slice.u16_be(0), 0x0401);
    assert_eq!(fancy_slice.u16_be(1), 0x0103);

    let inner_fancy_slice = fancy_slice.relative_fancy_slice(1..);
    assert_eq!(inner_fancy_slice.u8(0), 1);
    assert_eq!(inner_fancy_slice.u8(1), 3);
    assert_eq!(inner_fancy_slice.u16_be(0), 0x0103);
}

依赖项

~115KB