use bitvec::prelude::*; // BitView trait, Msb0, etc
let my_input = vec![0b11100000u8];
let bitslice = my_input.view_bits::<Msb0>();
let my_num = bitslice[..3].load_be::<u8>();
// continue parsing after my_num
let nextslice = &bitslice[3..];
You would use Lsb0 instead of Msb0 if you wanted to parse bytes starting at the low bit.It would be more convenient with a peek/take style wrapper over the slice, but I don't think one is included in the crate.