有没有办法在不执行二进制移位操作的情况下std::bitset
从十六进制构造 astd::string
或QString
反之亦然?我知道如何做到这一点,但我想知道是否可以使用 C++ 流或类似的东西来做到这一点。
到目前为止,这是我的代码(试图避免受到版主的抨击):
QString data("aabbccddeeff");
QByteArray temp = QByteArray::fromHex(data.simplified().toLatin1());
QBitArray bits(temp.count()*8);
for(int i=0; i<temp.count(); ++i) {
for(int b=0; b<8;b++) {
bits.setBit( i*8+b, temp.at(i)&(1<<(7-b)) );
}
}