2017-01-12 26 views
1

私の目標は、QStringに含まれる16進数値をASCII値に変換するためのです。QStringの16進数をASCII値に変換する

は、私が持っている:ここ

QString hexaValue = receiveText.left(14); // receive texte is another QString 

私の問題は、私は、QstringではなくQByteArrayに私が働いていない見つかったソリューションのすべてを私の16進値を持っているということですが、私は呼び出そう.data()またはfromHex()が、私はQStringを使用するように強制していますので、これはないQByteArray

は、私が変換する必要があり、私のQStringQByteArrayに、ここでは動作しない、簡単な解決策はありますか?

答えて

2

16進文字列をQByteArrayに変換してQStringに変換するには、QString::fromLocal8Bit(ローカルエンコード用)またはQString::fromUtf8(16進エンコード文字列がUTF8の場合)を使用できます。

QString hexaValue = receiveText.left(14); // received text is another QString 
QString textValue = QString::fromLocal8Bit(QByteArray::fromHex(hexaValue.toLatin1())); 
関連する問題