2017-09-06 28 views
3

である がすでに16進数のフォーマットでQByteArrayに変換されている必要があります。例えば:私はQtの5.9でこれを行うにはどうすればよい16進数の文字列をQByteArrayに変換する

QByteArray ba[4] = { 0xAF, 0x56, 0x03, 0xB4 } 

QString a = "AF5603B4" 

はとしてQByteArrayに格納されるべきか?私は多くのメソッドを使用しようとしましたが、これらのすべてが文字列の文字をASCII値に変換し、その16進数値を返します。

私はConvert.toByteをC#で使用する方法を見つけました。 Qtには同等の機能がありますか?

答えて

1

あなたはこのようByteArray::fromHex機能を使用することができます。

QString MyHexString ="AF5603B4"; 
QByteArray cmd = QByteArray::fromHex(MyHexString.toUtf8()); 

が出力

Screenshot

そして、16進数文字列にQByteArrayを変換する:

QByteArray cmd; 
QString NewHexString = cmd.toHex();