1 个不稳定版本
0.1.0 | 2020年11月26日 |
---|
#6 in #读取-写入
9KB
151 行
读取/写入可变长度整数的辅助库
use varint_bytes::{GetVarInt, PutVarInt};
use bytes::{BytesMut};
let mut bytes = &[0b1010_1100, 0b0000_0010][..];
let num: u32 = bytes.get_varint();
assert_eq!(num, 300);
let mut bytes = BytesMut::new();
bytes.put_varint(300 as u32);
assert_eq!(bytes[..], [0b1010_1100, 0b0000_0010][..]);
优点
- 防止滥用 - 不会读取超出输出类型最大大小或超过输入的内容
- 使用 tokio/bytes 的
Buf
no_std
和forbid(unsafe_code)
依赖项
~220KB