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 解析实现

Download history • Rust 包仓库 31/week @ 2024-04-29 • Rust 包仓库 34/week @ 2024-05-06 • Rust 包仓库 43/week @ 2024-05-13 • Rust 包仓库 91/week @ 2024-05-20 • Rust 包仓库 96/week @ 2024-05-27 • Rust 包仓库 90/week @ 2024-06-03 • Rust 包仓库 78/week @ 2024-06-10 • Rust 包仓库 81/week @ 2024-06-17 • Rust 包仓库 116/week @ 2024-06-24 • Rust 包仓库 65/week @ 2024-07-08 • Rust 包仓库 147/week @ 2024-07-15 • Rust 包仓库 66/week @ 2024-07-22 • Rust 包仓库 72/week @ 2024-07-29 • Rust 包仓库 91/week @ 2024-08-05 • Rust 包仓库 63/week @ 2024-08-12 • Rust 包仓库

316 每月下载量
用于 27 个crate (22 个直接)

Apache-2.0 协议

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 上找到。

无运行时依赖