将 QbyteArray 保存到 Qstring

Preserve QbyteArray to Qstring

我想像 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)

Constructs a debug stream that writes to the given 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();
}