QT中的字符串的各种处理

QT中的字符串的各种处理

16进制字符串转QByteArray

QByteArray HexStringToByteArray(QString HexString)
{
    bool ok;
    QByteArray ret;
    HexString = HexString.trimmed();
    HexString = HexString.simplified();
    QStringList sl;
    for(int i=0; i<HexString.length()/2; i++)
    {
        sl.append(HexString.mid(i*2, 2));
    }


    foreach (QString s, sl) {
        if(!s.isEmpty())
        {
            char c = s.toInt(&ok,16)&0xFF;
            if(ok){
                ret.append(c);
            }else{
                qDebug()<<QString::fromLocal8Bit("非法的16进制字符:")<<s;
            }
        }
    }
    qDebug()<<ret;
    return ret;
}

    QByteArray baRsuData = HexStringToByteArray("FFFF58B40C120AFE01000000090000891700000000B9F3D6DDB8DFCBD91611520113282202000961892014112420441124B9F3414B44313538000000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001350000000000000000000000000000000000010000000000AA290014514407A15D42BCFE00010300000000000000000067DE7901B9F3414B443135380000000015000000C1FF");

QByteArray 转16进制字符串

QString(baRecv.toHex().toUpper())

猜你喜欢

转载自www.cnblogs.com/huanyinglvtuan/p/11284627.html