17Авг/160
QBitArray to QByteArray
QByteArray bit2byte(const QBitArray &__bits)
{
//
QByteArray bytes;
bytes.resize(__bits.count() / 8 + 1); // Резервируем место
bytes.fill(0); // Заполняем всё нулями
// Конвертируем из QBitArray в QByteArray
for(int b = 0; b < __bits.count(); ++b)
{
bytes[b/8] = (bytes.at(b/8) | ( (__bits.testBit(b) ? 1 : 0)<<(7-(b%8)) ) );
// Конструкция (7-(b%8)) даёт прямой порядок. Для обратного (b%8)
}
return bytes;
}
Ключевые слова:
qbitarray2qbytearray