8 个版本
0.3.2 | 2023 年 8 月 23 日 |
---|---|
0.3.0 | 2020 年 1 月 6 日 |
0.2.3 | 2019 年 9 月 5 日 |
0.2.2 | 2019 年 6 月 1 日 |
0.1.1 | 2019 年 5 月 23 日 |
#395 在 解析器实现
8,762 每月下载次数
在 18 个 软件包(直接 9 个)中使用
37KB
866 行
winstructs
此软件包包含跨 Windows 格式常用的结构的定义和一些解析逻辑。
请参阅 文档 了解支持的结构的用法说明。
示例
以下是一个解析 GUID 的示例。
use winstructs::guid::Guid;
fn main() {
let raw_guid: &[u8] = &[0x25, 0x96, 0x84, 0x54, 0x78, 0x54, 0x94, 0x49,
0xa5, 0xba, 0x3e, 0x3b, 0x3, 0x28, 0xc3, 0xd];
let guid = Guid::from_buffer(raw_guid).unwrap();
assert_eq!(format!("{}", guid), "54849625-5478-4994-A5BA-3E3B0328C30D");
}
lib.rs
:
此软件包包含跨 Windows 格式常用的结构的定义和一些解析逻辑。
API
一般来说,此软件包中的结构将具有 from_reader
方法,如果可以从 Read
实例中读取,或者具有 from_stream
方法,如果读取它们需要 Read + Seek
。
from_buffer
也作为便利方法提供,但它通常只是构建一个游标并使用内部 from_reader
或 from_stream
。
依赖关系
~2.7–3.5MB
~74K SLoC