Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Convert hexadecimal string to QByteArray

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?

like image 459
Abhishek Agarwal Avatar asked Sep 06 '17 04:09

Abhishek Agarwal


1 Answers

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();
like image 160
Farhad Avatar answered Sep 19 '22 22:09

Farhad