繁体   English   中英

解析QByteArray

[英]Parsing QByteArray

我在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();
}
  1. 如何连接文件名和QByteArray类型的一个变量的内容?
  2. 如何将此变量QByteArray解析回文件名和内容?

最简单的方法是从文件名的长度开始,然后是文件名本身,然后是数据。 解析数据就像先读取文件名长度,读取文件名然后读取数据一样简单。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM