本文主要是介绍16进制与QByteArray互转,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/* * @breif 将16进制字符串转换为对应的字节序列*/
QByteArray MainWindow::HexStringToByteArray(QString HexString)
{bool ok;QByteArray ret;HexString = HexString.trimmed();HexString = HexString.simplified();QStringList sl = HexString.split(" ");foreach (QString s, sl) {if(!s.isEmpty()){char c = s.toInt(&ok,16)&0xFF;if(ok){ret.append(c);}else{qDebug()<<"非法的16进制字符:"<<s;QMessageBox::warning(0,tr("错误:"),QString("非法的16进制字符: \"%1\"").arg(s));}}}qDebug()<<ret;return ret;
}
QString MainWindow::ByteArrayToHexString(QByteArray data){QString ret(data.toHex().toUpper());int len = ret.length()/2;qDebug()<<len;for(int i=1;i<len;i++){qDebug()<<i;ret.insert(2*i+i-1," ");}return ret;
}
这篇关于16进制与QByteArray互转的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!