#byte #variables #integer #length #varint #helper #reading-writing

varint_bytes

读取/写入可变长度整数的辅助库

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/bytesBuf
  • no_stdforbid(unsafe_code)

依赖项

~220KB