将十六进制字符串转换为QByteArray

11

我需要将一个已经以十六进制格式表示的 QString 转换成 QByteArray。例如:

QString a = "AF5603B4"
应该将其储存在QByteArray中:
QByteArray ba[4] = { 0xAF, 0x56, 0x03, 0xB4 }

我该如何在Qt 5.9中实现此功能?我尝试了许多方法,但所有这些方法都会将字符串字符转换为其ASCII值,然后给出十六进制值。

我在C#中发现了Convert.toByte方法;在Qt中是否有类似的方法可用?

1个回答

11

你可以像这样使用 ByteArray::fromHex 函数:

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

输出

截图

将QByteArray转换为十六进制字符串的方法:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接