Код C / C ++ для обработки массива символов как потока битов

У меня большой массив двоичных данных в массиве char [], который мне нужно интерпретировать как массив упакованных 6-битных значений.

I мог сядьте и напишите некоторый код, чтобы сделать это, но я думаю, что должен быть хороший существующий класс или функция, которую кто-то уже написал.

Что мне нужно, это что-то вроде:

int get_bits(char* data, unsigned bitOffset, unsigned numBits);

чтобы я мог получить 7-й 6-битный символ в данных, вызвав:

const unsigned BITSIZE = 6;
char ch = static_cast<char>(get_bits(data, 7 * BITSIZE, BITSIZE));

Ответы на вопрос(3)

Ваш ответ на вопрос