3 个不稳定版本
0.2.1 | 2023年8月2日 |
---|---|
0.2.0 | 2022年12月16日 |
0.1.0 | 2022年11月11日 |
#998 在 数据库接口
在 furze 中使用
15KB
410 行
varintrs
Go语言可变长度整数的Rust实现
注意:
这是Go语言可变长度整数的Rust实现。可变长度整数通常用于数据库存储,可以压缩整数数据存储并节省磁盘空间。
例如
use std::io::Cursor;
use varintrs::{Binary, ReadBytesVarExt};
let mut rdr = Cursor::new(vec![228, 211, 247, 161, 22]);
let (v, x) = rdr.read_vu64::<Binary>();
assert_eq!(5976746468, v);
assert_eq!(5, x);
use std::io::Cursor;
use varintrs::{Binary,WriteBytesVarExt};
let mut rdr = Cursor::new(vec![0u8; 7]);
rdr.write_vu64::<Binary>(88748464645454).unwrap();
assert!(rdr.get_ref().eq(&vec![206, 202, 214, 229, 245, 150, 20]));