【问题标题】:Convert hexadecimal string to QByteArray将十六进制字符串转换为 QByteArray
【发布时间】:2018-02-14 10:37:50
【问题描述】:

我需要转换一个QString 这是 已经以十六进制格式转换为QByteArray。例如:

QString a = "AF5603B4"

应存储在QByteArray 中:

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

如何在 Qt 5.9 中做到这一点?我尝试过使用许多方法,但所有这些方法都将字符串字符转换为它们的 ASCII 值,然后给出该十六进制值。

我找到了在 C# 中使用的 Convert.toByte 方法;我可以使用 Qt 中的等价物吗?

【问题讨论】:

    标签: c++ string qt qbytearray


    【解决方案1】:

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

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

    输出

    并将 QByteArray 转换为 Hex 字符串:

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

    【讨论】:

      猜你喜欢
      • 2016-08-04
      • 2018-01-31
      • 2018-01-22
      • 1970-01-01
      • 2013-02-07
      • 1970-01-01
      • 1970-01-01
      • 2020-11-07
      相关资源
      最近更新 更多