QDataStream提拱了一个二进制的数据流,并且与程序运行的操作系统平台无关。通过与QFile的配合使用,可以很好的实现二进制文件的显示问题。
头文件里声明的QTextEdit *staCertiText用来显示二进制文本的控件;
QFile m_file(fileName);
if(!m_file.open(QIODevice::ReadOnly))
{
printf("can't open file for read\n");
return;
}
QDataStream read(&m_file);
while(!read.atEnd())
{
qint8 outChar = 0;
read>>outChar;
QString str = QString("%1").arg(outChar&0xFF,2,16,QLatin1Char('0')); //16进制转换
strHex += str;
strHex +=tr(" ");//每个字节后面添加一个空格
}
staCertiText->append(strHex);
效果图: