我想像qDebug()一样显示QbyteArray的值。
qDebug()<<byteArray === Displays -> "\x8E\xA9\xF3\xA5"
当我进行在线转换时,如何将这个QbyteArray捕获到QString中,它给我“
????
”作为输出。我希望QString的内容与QDebug()的输出相同;
"\x8E\xA9\xF3\xA5"
以便
QString字符串应包含“ \ x8E \ xA9 \ xF3 \ xA5”
最佳答案
使用构造函数构建一个QDebug对象:
QDebug::QDebug(QString *string)
构造一个写入给定字符串的调试流。
例:
#include <QApplication>
#include <QDebug>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel label;
QByteArray ba("\x8E\xA9\xF3\xA5");
QString res;
QDebug db(&res);
db << ba;
label.setText(res);
label.show();
return a.exec();
}
更新:
如果没有“ \ x”,请使用toHex():
#include <QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel label;
QByteArray ba("\x8E\xA9\xF3\xA5");
label.setText(ba.toHex());
label.show();
return a.exec();
}
关于c++ - 将QbyteArray保留为Qstring,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51337386/