8 个版本 (破坏性更新)
新 0.8.0 | 2024 年 8 月 19 日 |
---|---|
0.7.0 | 2024 年 8 月 19 日 |
0.6.0 | 2024 年 2 月 19 日 |
0.5.0 | 2023 年 12 月 27 日 |
0.1.0 | 2023 年 4 月 4 日 |
#494 in 解析实现
316 每月下载量
用于 27 个crate (22 个直接)
47KB
1K SLoC
buffertk
Buffertk 提供数据序列化和反序列化的工具。
状态
维护跟踪。该库被认为是稳定的,如果一年内未发生变化,则将进入维护模式。
范围
此库关于常见的序列化和反序列化模式。其主要目的是为 prototk crate 提供原始数据。
示例
要打包,实现 [Packable] 特质并使用 [stack_pack]。
use buffertk::{v64, stack_pack};
let x = v64::from(42);
let buf: &[u8] = &stack_pack(x).to_vec();
assert_eq!(&[42u8], buf);
解包使用 [Unpackable] 特质或 [Unpacker]。
use buffertk::{v64, Unpacker};
let mut up = Unpacker::new(&[42u8]);
let x: v64 = up.unpack().expect("[42] is a valid varint; something's wrong");
assert_eq!(42u64, x.into());
缺点
- 一些模式被频繁使用,可能需要更好的抽象。鉴于大多数此库与代码生成一起使用,这不是一个问题。
文档
最新的文档始终可在 docs.rs 上找到。