1
幫助請與這些轉換。這是輸入;從字節QByteArray到QBitArray到QbyteArray到QString + Unicode字符
QByteArray byteArr;
QBitArray bitArr;
QFile file(adress);
byteArr.readAll(file);
皈依到位:
BitArr.resize(8*byteArr.count());
for(int i=0; i<byteArr.count(); ++i)
for(int b=0; b<8; ++b)
bitArr.setBit(i*8+b, byteArr.at(i)&(1<<b));
皈依從位字節:
for(int i=0; i<bitArr.count(); ++i)
byteArr[i/8] = (byteArr.at(i/8) | ((bitArr[i]?1:0)<<(i%8)));
,並顯示結果
ui->textBrowser->setText(QString(byteArr));
此代碼工作正常完美的與ASCII字母。 但是,如果我打開ANSI文本的Unicode或UTf-8,我有運行時錯誤或錯誤的輸出。請幫助