11

I need to convert a QString which is already in hexadecimal format to a QByteArray. For example:

QString a = "AF5603B4"

Should be stored in QByteArray as:

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

How do I do this in Qt 5.9? I have tried using many methods but all of these convert the string characters to their ASCII values and then give that hexadecimal value.

I found Convert.toByte method to use in C# ; is there an equivalent in Qt I can use?

Akira
  • 4,385
  • 3
  • 24
  • 46
Abhishek Agarwal
  • 1,190
  • 2
  • 19
  • 38

1 Answers1

11

You can use ByteArray::fromHex function like this:

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

Output:

Screenshot

And to convert QByteArray to Hex string:

QByteArray cmd;
QString NewHexString = cmd.toHex();
Farhad
  • 4,119
  • 8
  • 43
  • 66