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