Convert hexadecimal string to QByteArray

8.2k views Asked by At

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?

1

There are 1 answers

0
Farhad On BEST ANSWER

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();