#serialization #binary-encoding #dead #no-std #de #serde

no-std store

一个简单的二进制(反)序列化器

3个版本

0.1.0-alpha.32019年7月7日
0.1.0-alpha.22019年7月4日
0.1.0-alpha.12019年5月29日

#2173 in 编码

Download history 130/week @ 2024-03-30 66/week @ 2024-04-06 292/week @ 2024-04-13 128/week @ 2024-04-20 97/week @ 2024-04-27 81/week @ 2024-05-04 306/week @ 2024-05-11 411/week @ 2024-05-18 361/week @ 2024-05-25 558/week @ 2024-06-01 73/week @ 2024-06-08 197/week @ 2024-06-15 27/week @ 2024-06-22 10/week @ 2024-06-29 113/week @ 2024-07-06 37/week @ 2024-07-13

210 每月下载量

MIT/Apache

38KB
988

store

一个简单的二进制(反)序列化器。

store 是一个简单的二进制(反)序列化器,它使用了 serde 提供的 SerializeDeserialize 特性。

它与 stdno_stdno_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(())
}

许可证

本项目可以在以下许可证下使用

任选其一。

贡献

如果您想为 store 贡献,遇到任何问题,或者您想看到实现的功能,欢迎提交 新问题 和拉取请求。

除非您明确表示,否则任何有意提交给 store 的贡献,根据 Apache-2.0 许可证定义,将按照上述方式双许可,没有任何附加条款或条件。

依赖关系

~175–410KB