#位置 # #游标位置 #内存缓冲区 #读取 #读写 #特质

bitcursor

跟踪内存缓冲区中的位位置,并提供读取、查找实现。还应用了一个新的特质 ReadBits,允许从游标读取实现 Unit 的类型。

2 个版本 (1 个稳定版本)

使用旧的 Rust 2015

1.0.0 2019 年 4 月 8 日
0.1.0 2019 年 2 月 16 日

#1373算法

MIT 许可证

180KB
4K SLoC

BitCursor

Crates.io docs MIT/Apache


跟踪内存缓冲区中的位位置,并提供读取、写入和查找实现。还提供了一些特质,用于读取任何大小的原始类型、无符号或带符号整数 ReadBitsForceReadBits

示例

从 u8 的列表中读取 u16,首先从位位置 0 读取,然后从位位置 2 + 游标位置 1 读取。

use {BitCursor, Readbits};

let data: [u8; 4] = [0b01101010, 0b11110001, 0b01110100, 0b10100001];
let mut bcurs = BitCursor::new(&data[..]);
let r = bcurs.read_bits::<u16>().unwrap();
assert_eq!(0b0110101011110001 as u16, r);
let _ = bcurs.seek(SeekFrom::Start(10));
let r = bcurs.read_bits::<u16>().unwrap();
assert_eq!(0b1100010111010010 as u16, r);

要查看更多示例,请参阅测试模块。

无运行时依赖