Qtの中でQByteArrayから文字列に変換する方法は何ですか?

QStringのコンストラクタを使用して、QByteArrayを文字列に変換することができます。以下は例です:

QByteArray byteArray = "Hello, world!";
QString str = QString(byteArray);

QString::fromUtf8()またはQString::fromLatin1()などの静的関数を使用することもできます。

QByteArray byteArray = "Hello, world!";
QString str = QString::fromUtf8(byteArray); // 使用UTF-8编码

QByteArrayには純粋なテキストではなくバイナリデータが含まれている場合、QStringに変換すると一部のデータが失われる可能性がありますので、注意してください。このような場合には、toHex()関数を使ってバイナリデータを16進数の文字列に変換することができます。

QByteArray byteArray = {0x48, 0x65, 0x6C, 0x6C, 0x6F}; // "Hello" 的 ASCII 编码
QString hexStr = QString(byteArray.toHex()); // "48656C6C6F"

これが役に立てば幸いです。

bannerAds