#bit #manager #read #write #byte

bit_manager

一个用于从各种流中读取和写入位的 crate

9 个版本 (4 个破坏性版本)

使用旧的 Rust 2015

0.5.3 2017 年 11 月 5 日
0.5.2 2017 年 11 月 4 日
0.4.0 2017 年 10 月 30 日
0.3.0 2017 年 10 月 29 日
0.1.1 2017 年 10 月 28 日

#179 in #bit


用于 2 crates

MIT 许可证

40KB
848

一个用于从各种流中读取和写入位的 crate

此 crate 不稳定。可能会在不警告的情况下添加或删除功能。预期会有破坏性变更。

读取

use bit_manager::{BitReader, BitRead};

let mut reader = BitReader::new([0b01101110u8, 0b10100000u8].as_ref());

assert_eq!(reader.read_bit()?, false);
assert_eq!(reader.read_bit()?, true);
assert_eq!(reader.read_bit()?, true);
assert_eq!(reader.read_byte()?, 0b01110101);

写入

use bit_manager::{BitWriter, BitWrite};

let mut writer = BitWriter::new(Vec::new());

writer.write_bit(false)?;
writer.write_bit(true)?;
writer.write_bit(true)?;
writer.write_byte(0b01110101)?;

assert_eq!(writer.into_inner()?, [0b01101110u8, 0b10100000u8]);

没有运行时依赖