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"
これが役に立てば幸いです。