3 个版本
0.1.2 | 2023年1月26日 |
---|---|
0.1.1 | 2019年4月15日 |
0.1.0 | 2019年4月11日 |
#2122 在 解析器实现
在 brawllib_rs 中使用
14KB
281 行
花式切片
包装一个 &[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