• 类型转化


    从串口读取到的QByteArray数据,一般需要进行提取和解析,此时就需要QByteArray转换为各类型数据。1 转为HEX,2 转为不同进制数值并显示   3 转为整型、浮点型等数值类型;  4 转为字符串类型;

    十六进制字符转化成int

    int hexCharToInt(char c)

    {
        if (c >= '0' && c <= '9') return (c - '0');
        if (c >= 'A' && c <= 'F') return (c - 'A' + 10);
        if (c >= 'a' && c <= 'f') return (c - 'a' + 10);
        return 0;
    }

    int 转化为QByteArray

    QByteArray uintToByte_1(uint number)
    {
        QByteArray abyte;
        abyte.resize(4);
        abyte[3] = (uchar)  (0x000000ff & number);
        abyte[2] = (uchar) ((0x0000ff00 & number) >> 8);
        abyte[1] = (uchar) ((0x00ff0000 & number) >> 16);
        abyte[0] = (uchar) ((0xff000000 & number) >> 24);
        return abyte;
    }

    hexstring    转化为char* 

    char *HMPCADefine::hexstringToBytes(string s)
    {
        int sz = s.length();  //
        char *ret = new char[sz/2];
        for (int i=0 ; i <sz ; i+=2) {
            //                         获取高4位                   获取低4位
            ret[i/2] = (char) ((hexCharToInt(s.at(i)) << 4)| hexCharToInt(s.at(i+1)));
        }
        return ret;
    }

  • 相关阅读:
    css样式详解
    数组去重的两种方式
    react 中class样式的书写过程及注意点
    react 行内样式几种写法
    React创建组件的两种方法
    React中class创建组件和function创建组件的区别
    class关键字
    关于webpack配置环境,以及自己搭建react环境
    经典圣杯双飞翼布局
    关于vue中深拷贝的惨痛教训
  • 原文地址:https://www.cnblogs.com/countryboy666/p/11331411.html
Copyright © 2020-2023  润新知