2 个版本
0.1.1 | 2024 年 1 月 12 日 |
---|---|
0.1.0 | 2024 年 1 月 12 日 |
#2125 in 编码
13KB
192 行
完整文档: https://docs.rs/librsv/0.1.0/librsv/
RSV(字符串值行)是一种非常简单的二进制格式,用于编码表格数据。它与 CSV 类似,但由于避免了转义字符,因此更加简单。这是通过将字符串编码为 UTF-8,并使用永远不会出现在有效 UTF-8 字符串中的字节作为分隔符来实现的。
完整规范可以在以下位置找到:https://github.com/Stenway/RSV-Specification
基本用法
有三种方便的方法可以一次性编码和解码 RSV 文档。
encode_rsv
- 从结构如Vec<Vec<Option<String>>>
的结构中编码 RSV 文档。decode_rsv
- 将 RSV 文档解码为Vec<Vec<Option<String>>>
。decode_rsv_borrowed
- 将 RSV 文档解码为Vec<Vec<Option<&str>>>
。
use librsv::{encode_rsv, decode_rsv};
let data = vec![
vec![Some("Hello".into()), Some("world".into())],
vec![Some("asdf".into()), None, Some("".into())],
];
let encoded = encode_rsv(&data);
let decoded = decode_rsv(&encoded).unwrap();
assert_eq!(data, decoded);
依赖关系
~320–790KB
~19K SLoC