我正在做一个项目,我需要将一个字符串(QString)作为二进制写入(并在未来读取)。该字符串是十六进制格式,例如“00010203040506070a0f01”等...
我通过 YouTube 上的教程了解了这一点:
void Output()
{
QString ye("01020a");
QFile file("C:\\Users\\Public\\Documents\\Qt_Projects\\myfile.dat";
if(!file.open(QIODevice::WriteOnly))
{
qDebug() << "Could not open file to be written";
return;
}
QDataStream out(&file);
out.setVersion(QDataStream::Qt_5_0);
out << ye;
file.flush();
file.close();
}
但是当我用十六进制编辑器打开“myfile.dat”时,十六进制值不同,QString“ye”被写入了事物的文本端。
00 00 00 0C 00 30 00 31 00 30 00 32 00 30 00 61
帮助?