qt中16进制字符串转化为二进制数组
时间: 2023-05-13 09:07:15 浏览: 882
可以使用 QByteArray 类的 fromHex() 函数将 16 进制字符串转化为二进制数组,示例代码如下:
QString hexString = "FF00AA";
QByteArray byteArray = QByteArray::fromHex(hexString.toLatin1());
qDebug() << byteArray.toHex(); // 输出 "ff00aa"
注意,toLatin1() 函数将 QString 转化为 Latin-1 编码的 QByteArray,这是 fromHex() 函数的参数类型要求。
相关问题
QT中16进制字符串转10进制字符串
可以使用QString的toInt()函数将16进制字符串转换为10进制字符串,示例代码如下:
QString hexStr = "1A";
bool ok;
int dec = hexStr.toInt(&ok, 16);
QString decStr = QString::number(dec);
其中,第二个参数16表示输入的是16进制字符串,函数返回值为转换后的10进制整数,如果转换失败,ok为false;QString::number()函数可以将整数转换为字符串。
QT中16进制字符串转10进制数字
可以使用QString的toInt函数将16进制字符串转换为10进制数字,示例代码如下:
QString hexString = "1A";
int decimalNumber = hexString.toInt(nullptr, 16); // 将16进制字符串转换为10进制数字
qDebug() << decimalNumber; // 输出结果为26
注意:toInt函数的第二个参数表示进制,这里传入16表示16进制。如果第二个参数为0,则会自动判断字符串的进制。
阅读全文