我在QByteArray中有一个文件名
QString file_name = "icon.jpg";
QByteArray qba1; qba+=file_name;
我将文件的内容放入QByteArray
QFile file("C:\\Devel\\icon.jpg");
if (file.open(QIODevice::ReadOnly)){
QByteArray content = file.readAll();
}
答案 0 :(得分:0)
最简单的方法是从文件名的长度开始,然后是文件名本身,然后是数据。解析数据就像首先读取文件名长度,读取文件名,然后读取数据一样简单。
QByteArray qbaFileName((const char*)(file_name.utf16()), file_name.size() * 2);
QByteArray byteArray;
QDataStream stream(&byteArray, QIODevice::WriteOnly);
stream << (int)qbaFileName.size(); // put length of filename on stream
stream << qbaFileName; // put filename on stream
stream << file.readAll(); // put binary data on stream