7个版本 (重大更改)
0.7.0 | 2023年11月13日 |
---|---|
0.6.1 | 2023年9月2日 |
0.6.0 | 2023年8月14日 |
0.5.0 | 2023年8月12日 |
0.1.1 | 2022年11月11日 |
#767 in 数据结构
48KB
1K SLoC
Rust的代数标记长度值编码
atlv
是一种通用的二进制数据编码,在保留数据叶脊结构的同时,提供可定制的标签并规定最小语义。
value: quant | binary | union | array
quant: tag…00(vlq) (vlq)
binary: tag…01(vlq) len(vlq) byte[len]
union: tag…10(vlq) value
array: tag…11(vlq) len(vlq) value[len]
vlq: 0xxxxxxx | 1xxxxxxx vlq
byte: xxxxxxxx
tag: xxxxx | xxxxxxx tag
此存储库包含一个用于编码、解码和一般操作atlv
数据的Rust crate。
lib.rs
:
编码和解码atlv值。
代数标记长度值(atlv)是一种二进制数据编码,旨在提供可扩展性、通用性和紧凑性。每个值都有一个可变长度的标签,可以是四种[类型]之一,两种简单和两种递归
- 数量编码可枚举值,使用可变长度数量。
- 二进制编码字节序列。
- 联合封装一个单独的值。
- 数组封装值序列。
此crate提供了一种特质,用于将Rust值直接编码和解码到atlv流中,以及一种类型,用于建模和泛型编码和解码任意atlv值。除非您需要操作或检查无结构atlv值,否则请使用特质。
依赖项
~195KB