14个版本 (3个稳定版)
1.1.1 | 2022年5月21日 |
---|---|
1.1.0 | 2021年9月22日 |
0.6.3 | 2021年9月3日 |
0.6.2 | 2020年11月18日 |
0.2.0 | 2016年7月30日 |
#59 在 编码
每月下载量77,270
用于 76 个crate (55个直接使用)
320KB
3K SLoC
Serde Pickle序列化库
这个crate是一个Rust库,用于解析和生成Python pickle流。它基于Serde,一个高性能的泛型序列化框架。
安装
这个crate与Cargo一起工作,可以在crates.io上找到,其Cargo.toml文件如下
[dependencies]
serde = "1.0"
serde-pickle = "1.0"
要求
最低支持的Rust版本是1.41.1。
使用
与其他serde序列化实现一样,这个库提供了对支持对象的简单编解码的顶层函数。
示例
use std::collections::BTreeMap;
fn main() {
let mut map = BTreeMap::new();
map.insert("x".to_string(), 1.0);
map.insert("y".to_string(), 2.0);
// Serialize the map into a pickle stream.
// The second argument are serialization options.
let serialized = serde_pickle::to_vec(&map, Default::default()).unwrap();
// Deserialize the pickle stream back into a map.
// Because we compare it to the original `map` below, Rust infers
// the type of `deserialized` and lets serde work its magic.
// The second argument are additional deserialization options.
let deserialized = serde_pickle::from_slice(&serialized, Default::default()).unwrap();
assert_eq!(map, deserialized);
}
支持序列化和反序列化实现了serde提供的特质的结构和枚举,并且与其他crate类似(使用serde_derive
)。
依赖
~0.6–11MB
~110K SLoC