将十六进制字符串转换为 QByteArray
Convert hexadecimal string to QByteArray
我需要将 QString
转换为
已经以十六进制格式转换为 QByteArray
。例如:
QString a = "AF5603B4"
应在 QByteArray
中存储为:
QByteArray ba[4] = { 0xAF, 0x56, 0x03, 0xB4 }
我如何在 Qt 5.9 中执行此操作?我尝试过使用许多方法,但所有这些方法都将字符串字符转换为其 ASCII 值,然后给出该十六进制值。
我找到了 Convert.toByte
在 C# 中使用的方法;我可以使用 Qt 中的等效项吗?
您可以像这样使用 ByteArray::fromHex
函数:
QString MyHexString ="AF5603B4";
QByteArray cmd = QByteArray::fromHex(MyHexString.toUtf8());
输出:
并将 QByteArray 转换为十六进制字符串:
QByteArray cmd;
QString NewHexString = cmd.toHex();
我需要将 QString
转换为
已经以十六进制格式转换为 QByteArray
。例如:
QString a = "AF5603B4"
应在 QByteArray
中存储为:
QByteArray ba[4] = { 0xAF, 0x56, 0x03, 0xB4 }
我如何在 Qt 5.9 中执行此操作?我尝试过使用许多方法,但所有这些方法都将字符串字符转换为其 ASCII 值,然后给出该十六进制值。
我找到了 Convert.toByte
在 C# 中使用的方法;我可以使用 Qt 中的等效项吗?
您可以像这样使用 ByteArray::fromHex
函数:
QString MyHexString ="AF5603B4";
QByteArray cmd = QByteArray::fromHex(MyHexString.toUtf8());
输出:
并将 QByteArray 转换为十六进制字符串:
QByteArray cmd;
QString NewHexString = cmd.toHex();