QT中QString、QByteArray和int之间的相互转换
1、QByteArray转QString
QString QByteArray_to_QString(QByteArray valu)
{
QString value;
for(int i=0;i<valu.size();i++)
{
unsigned char V=valu[i];//强转为无符号,否则可能会出错
value+=QString("%1").arg(V, 2, 16, QChar('0'));//QByteArray转QString
}
return value;
}
本函数可以将QByteArray转为QString格式,并会在数据小于两位时自动在前面补0。
如[0x01,0x02,0xab,0xcd],经转换后会变成“0102abcd”。
2、QString转QByteArray
QByteArray QString_to_QByteArray(QString valu)
{
QByteArray value;
for(int i=0,j=0;j<valu.size();i++)//格式转换
{
bool ok;
value[i]=valu.mid(j,2).toInt(&ok,16);
j+=2;
}
return value;
}
本函数可以将QString转为QByteArray格式。
如“0102abcd”,经转换后会变成[0x01,0x02,0xab,0xcd]。
3、QString转int
int QString_to_int(QString valu)
{
bool ok;
int value=valu.toInt(&ok,10);
return value;
}
本函数可以将QString转为int 格式。
如“12345”,经转换后会变成12345。
如果觉得这篇文章对您有帮助,欢迎点赞、评论、转发、收藏!您的支持是我创作的最大动力!