字节转换

一、十六进制转换为int型的数

函数表示为:过程是将字节数进行转换,最后转换为int类型的数

int Mainwindow::ConvertHexInt(char ch){
    if ((ch >= '0') && (ch <= '9')){
        return ch - '0';
    }else if ((ch >= 'A') && (ch <= 'F'))
    {
        return ch - 'A' + 10;
    }else if ((ch >= 'a') && (ch <= 'f')){
        return ch - 'a' + 10;
    }else{
        return (-1);
    }
}

 

 二、十六进制的数转换为字节数

QByteArray Widget::HexStringToByteArray(QString HexString)//通过函数HexStringToByteArray将字符数组
{                                                       //来进行转化,转化后发送的是16进制的数据。
    bool ok;
    QByteArray ret;
    HexString = HexString.trimmed();
    HexString = HexString.simplified();
    QStringList sl = HexString.split(" ");

     foreach (QString s, sl) {
        if (!s.isEmpty())
        {
            char c = s.toInt(&ok,16)&0xFF;
            if(ok){
                ret.append(c);
            }
            else
            {
             //   qDebug()<<"非法的16进制字符:"<<s;
                //QMessageBox::warning(0,tr("错误:"),QString("非法的16进制字符: \"%1\"").arg(s));
            }
        }
    }
    //qDebug()<<ret;
    return ret;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值