zoukankan      html  css  js  c++  java
  • Qt通用方法及类库7

    函数名

        //int转字节数组
        static QByteArray intToByte(int i);
        static QByteArray intToByteRec(int i);
    
        //字节数组转int
        static int byteToInt(const QByteArray &data);
        static int byteToIntRec(const QByteArray &data);
        static quint32 byteToUInt(const QByteArray &data);
        static quint32 byteToUIntRec(const QByteArray &data);
    
        //ushort转字节数组
        static QByteArray ushortToByte(ushort i);
        static QByteArray ushortToByteRec(ushort i);
    
        //字节数组转ushort
        static int byteToUShort(const QByteArray &data);
        static int byteToUShortRec(const QByteArray &data);
    

    函数体

    QByteArray QUIHelper::intToByte(int i)
    {
        QByteArray result;
        result.resize(4);
        result[3] = (uchar)(0x000000ff & i);
        result[2] = (uchar)((0x0000ff00 & i) >> 8);
        result[1] = (uchar)((0x00ff0000 & i) >> 16);
        result[0] = (uchar)((0xff000000 & i) >> 24);
        return result;
    }
    
    QByteArray QUIHelper::intToByteRec(int i)
    {
        QByteArray result;
        result.resize(4);
        result[0] = (uchar)(0x000000ff & i);
        result[1] = (uchar)((0x0000ff00 & i) >> 8);
        result[2] = (uchar)((0x00ff0000 & i) >> 16);
        result[3] = (uchar)((0xff000000 & i) >> 24);
        return result;
    }
    
    int QUIHelper::byteToInt(const QByteArray &data)
    {
        int i = data.at(3) & 0x000000ff;
        i |= ((data.at(2) << 8) & 0x0000ff00);
        i |= ((data.at(1) << 16) & 0x00ff0000);
        i |= ((data.at(0) << 24) & 0xff000000);
        return i;
    }
    
    int QUIHelper::byteToIntRec(const QByteArray &data)
    {
        int i = data.at(0) & 0x000000ff;
        i |= ((data.at(1) << 8) & 0x0000ff00);
        i |= ((data.at(2) << 16) & 0x00ff0000);
        i |= ((data.at(3) << 24) & 0xff000000);
        return i;
    }
    
    quint32 QUIHelper::byteToUInt(const QByteArray &data)
    {
        quint32 i = data.at(3) & 0x000000ff;
        i |= ((data.at(2) << 8) & 0x0000ff00);
        i |= ((data.at(1) << 16) & 0x00ff0000);
        i |= ((data.at(0) << 24) & 0xff000000);
        return i;
    }
    
    quint32 QUIHelper::byteToUIntRec(const QByteArray &data)
    {
        quint32 i = data.at(0) & 0x000000ff;
        i |= ((data.at(1) << 8) & 0x0000ff00);
        i |= ((data.at(2) << 16) & 0x00ff0000);
        i |= ((data.at(3) << 24) & 0xff000000);
        return i;
    }
    
    QByteArray QUIHelper::ushortToByte(ushort i)
    {
        QByteArray result;
        result.resize(2);
        result[1] = (uchar)(0x000000ff & i);
        result[0] = (uchar)((0x0000ff00 & i) >> 8);
        return result;
    }
    
    QByteArray QUIHelper::ushortToByteRec(ushort i)
    {
        QByteArray result;
        result.resize(2);
        result[0] = (uchar)(0x000000ff & i);
        result[1] = (uchar)((0x0000ff00 & i) >> 8);
        return result;
    }
    
    int QUIHelper::byteToUShort(const QByteArray &data)
    {
        int i = data.at(1) & 0x000000FF;
        i |= ((data.at(0) << 8) & 0x0000FF00);
    
        if (i >= 32768) {
            i = i - 65536;
        }
    
        return i;
    }
    
    int QUIHelper::byteToUShortRec(const QByteArray &data)
    {
        int i = data.at(0) & 0x000000FF;
        i |= ((data.at(1) << 8) & 0x0000FF00);
    
        if (i >= 32768) {
            i = i - 65536;
        }
    
        return i;
    }
    
  • 相关阅读:
    Python Virtualenv 虚拟环境
    二叉树的左视图和右视图
    Vxlan简介
    2、程序的基本结构
    chef cookbook 实战
    eclipse 搭建ruby环境
    linux 安装软件出现/tmp 磁盘不足时 解决方案
    Python 可变对象与不可变对象
    Chapter 4-5
    Chapter 3
  • 原文地址:https://www.cnblogs.com/feiyangqingyun/p/12732185.html
Copyright © 2011-2022 走看看