Name | Date | Size | #Lines | LOC | ||
---|---|---|---|---|---|---|
.. | 03-May-2022 | - | ||||
src/ | H | 03-May-2022 | - | 501 | 296 | |
.cargo-checksum.json | H A D | 03-May-2022 | 89 | 1 | 1 | |
.gitignore | H A D | 01-Aug-2015 | 18 | 3 | 2 | |
.travis.yml | H A D | 06-Jan-2017 | 44 | 5 | 4 | |
Cargo.toml | H A D | 06-Mar-2017 | 555 | 20 | 14 | |
LICENSE-APACHE | H A D | 08-Aug-2015 | 11.1 KiB | 203 | 169 | |
LICENSE-MIT | H A D | 06-Mar-2017 | 1 KiB | 26 | 22 | |
README.md | H A D | 06-Mar-2017 | 1.2 KiB | 28 | 17 |
README.md
1# BitReader 2 3BitReader is a helper type to extract strings of bits from a slice of bytes. 4 5[![Published Package](https://img.shields.io/crates/v/bitreader.svg)](https://crates.io/crates/bitreader) 6[![Documentation](https://docs.rs/bitreader/badge.svg)](https://docs.rs/bitreader) 7[![Build Status](https://travis-ci.org/irauta/bitreader.svg?branch=master)](https://travis-ci.org/irauta/bitreader) 8 9Here is how you read first a single bit, then three bits and finally four bits from a byte buffer: 10 11 use bitreader::BitReader; 12 13 let slice_of_u8 = &[0b1000_1111]; 14 let mut reader = BitReader::new(slice_of_u8); 15 16 // You obviously should use try! or some other error handling mechanism here 17 let a_single_bit = reader.read_u8(1).unwrap(); // 1 18 let more_bits = reader.read_u8(3).unwrap(); // 0 19 let last_bits_of_byte = reader.read_u8(4).unwrap(); // 0b1111 20 21You can naturally read bits from longer buffer of data than just a single byte. 22 23As you read bits, the internal cursor of BitReader moves on along the stream of bits. Little endian format is assumed when reading the multi-byte values. BitReader supports reading maximum of 64 bits at a time (with read_u64). 24 25## License 26 27Licensed under the Apache License, Version 2.0 or the MIT license, at your option. 28