簡體   English   中英

將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)

構造一個寫入給定字符串的調試流。

例:

#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();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM