QT中QString、QByteArray和int之间的相互转换

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。


如果觉得这篇文章对您有帮助,欢迎点赞、评论、转发、收藏!您的支持是我创作的最大动力!

上一篇:创建新虚拟机CentOS 6


下一篇:007、py43-day07-sky-20210809