2 个不稳定版本
| 0.2.0 | 2024年5月14日 |
|---|---|
| 0.1.0 | 2024年5月11日 |
#119 在 无标准库
每月 73 次下载
205KB
4K SLoC
ser-write-msgpack
此 crate 提供了一个对 MessagePack 的序列化器,该序列化器使用 serde,并使用 SerWrite 作为写入器,同时提供了一个方便的解序列化器。
使用方法
[dependencies]
ser-write-msgpack = { version = "0.1", default-features = false }
序列化器
ser-write-msgpack 包含了 3 个序列化器:
to_writer_compact- 将结构体序列化为数组,并将枚举变体作为索引,to_writer- 将结构体序列化为包含字段和枚举变体的映射,to_writer_named- 将结构体序列化为包含字段名称和枚举变体的字符串的映射。
功能
std启用标准库,alloc启用 alloc 库,
启用 alloc 或 std 功能时,使用中间 String 实现了 serde::ser::Serializer::collect_str 方法。
否则,Serializer::collect_str 通过格式化字符串两次来实现,一次用于计算字符串大小,第二次用于实际写入。
解序列化器
MessagePack 解序列化器期望一个 MessagePack 编码的字节切片。使用 &str 或 &[u8] 类型从提供的切片中解序列化(使用(零拷贝)引用)。
from_slice- 从字节切片中解序列化 MessagePack 数据from_slice_split_tail- 从字节切片中解序列化 MessagePack 数据,返回输入切片的剩余部分
解序列化器支持自描述的格式。
解序列化器使用字符串或索引作为变体或字段标识符,从映射和数组中解序列化结构体。
Rust 版本要求
ser-write-msgpack 需要 Rustc 版本 1.75 或更高。
依赖关系
~110–350KB