2个不稳定版本
| 0.2.0 | 2022年10月10日 |
|---|---|
| 0.1.0 | 2021年9月30日 |
#958 在 数据结构
56 每月下载
在 8 个crate(6个直接)中使用
16KB
307 行
这个库旨在提供将数据直接写入流(impl)和直接从流中读取数据(Read)的最简单、最直接的方法。
它包含ToStream和FromStream特质,需要为要写入或读取的类型实现这些特质。
为什么?
没有好的二进制序列化库。最常见的方式似乎是bincode,它基于serde。 serde是冗余,尤其是在仅写入二进制数据时。它有一个数据模型,并存储所有项目的名称。
只要你可以派生你的特质,你就不会注意到大多数复杂性,但当你不得不在serde中手动实现一些特质时,它会变得过于复杂。
在这个库中,当你想手动实现一些特质时,你只需按顺序将元素写入或读取到流中。由于默认使用流,因此它与文件系统或网络的交互应该非常简单。
功能和进度
哪些数据类型已经实现或计划实现?
- 布尔值(
bool) - 数字(
u8 到u128,i8 到i128,f32和f64,usize) - 固定大小数组(
[T; N],泛型于类型和大小) - 字符(
char) - 字符串(
String) - 简单包装类型(
Box、Option、Result) - 集合(
Vec、VecDeque、LinkedList、HashMap、BTreeMap、HashSet、BTreeSet、BinaryHeap)
哪些类型可能不会实现?
- 非静态类型(也包括
&[T]、&str) - 元组(因为无法以泛型方式实现它们)
其他计划中的功能
- 派生特质