文章转载自:https://blog.csdn.net/weixin_38293850/article/details/86287330 著作权归作者所有。商业转载请联系作者获得授权。 第三种方法是改进后的方法和原文有差别。 //第一种:data.toLatin1()
static QByteArray TwoHexStrToByteArray(QString data)
{
QByteArray buf;
buf = data.toLatin1();
return buf;
}
//第二种:data.toUtf8()也可以
static QByteArray TwoHexStrToByteArray(QString data)
{
QByteArray bytes = data.toUtf8(); // QString转QByteArray方法1
return bytes;
}
//第三种 static QByteArray TwoHexStrToByteArray(QString data)
{
QByteArray buf;
if((data.length()%2) == 0)
{
bool ok;
char chr;
for(int i = 0; i < data.length(); i += 2)
{
chr = (data.mid(i, 2).toInt(&ok, 16)) & 0xFF;
buf.append(chr);
}
}
else
{
char chr;
chr = (data.mid(0, 1).toInt(&ok, 16)) & 0xFF;
buf.append(chr);
for(int i = 1; i < data.length(); i += 2)
{
chr = (data.mid(i, 2).toInt(&ok, 16)) & 0xFF;
buf.append(chr);
}
}
return buf;
}