11 个版本
使用旧 Rust 2015
0.3.8 | 2023年9月5日 |
---|---|
0.3.7 | 2023年4月26日 |
0.3.6 | 2022年4月3日 |
0.3.5 | 2022年1月6日 |
0.1.0 | 2016年8月9日 |
#8 in 解析器工具
21,002 每月下载量
在 61 个 包(25 直接)中使用
32KB
508 行
BitReader
BitReader 是从字节切片中提取位串的辅助类型。
以下是如何从字节缓冲区中首先读取一个位,然后读取三个位,最后读取四个位的方法
use bitreader::BitReader;
let slice_of_u8 = &[0b1000_1111];
let mut reader = BitReader::new(slice_of_u8);
// You obviously should use try! or some other error handling mechanism here
let a_single_bit = reader.read_u8(1).unwrap(); // 1
let more_bits = reader.read_u8(3).unwrap(); // 0
let last_bits_of_byte = reader.read_u8(4).unwrap(); // 0b1111
您可以从比单个字节更长的数据缓冲区中自然地读取位。
在读取位的过程中,BitReader 的内部游标沿着位流移动。读取多字节值时,假设大端格式。BitReader 支持一次最多读取 64 位(使用 read_u64)。
许可证
根据您的选择,许可在 Apache 许可证版本 2.0 或 MIT 许可证下。