3个版本
0.1.0-alpha.3 | 2019年7月7日 |
---|---|
0.1.0-alpha.2 | 2019年7月4日 |
0.1.0-alpha.1 | 2019年5月29日 |
#2173 in 编码
210 每月下载量
38KB
988 行
store
一个简单的二进制(反)序列化器。
store
是一个简单的二进制(反)序列化器,它使用了 serde
提供的 Serialize
和 Deserialize
特性。
它与 std
、no_std
和 no_std
+ alloc
完全兼容。
安装
要使用 store
,请在您的 Cargo.toml 中添加以下内容
[dependencies]
store = "0.1.0-alpha.3"
类型转储
store
可以将实现 Serialize
的类型转储到可变字节缓冲区。
use serde_derive::Serialize;
use store::Dump;
#[derive(Serialize)]
struct Foo(u32);
fn main() -> store::Result<()> {
let mut buf = [0; 4];
let foo = Foo(42);
foo.dump_into_bytes(&mut buf[..])?;
Ok(())
}
类型加载
store
还可以从字节缓冲区解码实现 Deserialize
的结构。
use serde_derive::Deserialize;
use store::Load;
#[derive(Deserialize)]
struct Bar(u32);
fn main() -> store::Result<()> {
let buf = [0; 4];
let bar = Bar::load_from_bytes(&buf[..])?;
Ok(())
}
许可证
本项目可以在以下许可证下使用
- Apache License, Version 2.0, (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
任选其一。
贡献
如果您想为 store
贡献,遇到任何问题,或者您想看到实现的功能,欢迎提交 新问题 和拉取请求。
除非您明确表示,否则任何有意提交给 store
的贡献,根据 Apache-2.0 许可证定义,将按照上述方式双许可,没有任何附加条款或条件。
依赖关系
~175–410KB