(QT)int 与 字节数组相互转换

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011978079/article/details/89147373

int转4字节数组

QByteArray SCL::intTo4ByteArray(int i)
{
    QByteArray ba;
    ba.resize(4);
    ba[0] = (uchar)(0x000000ff & i);
    ba[1] = (uchar)((0x0000ff00&i)>>8);
    ba[2] = (uchar)((0x00ff0000&i)>>16);
    ba[3] = (uchar)((0xff000000&i)>>24);
    return ba;
}

int转2字节数组

QByteArray SCL::intTo2ByteArray(int i)
{
    QByteArray ba;
    ba.resize(2);
    ba[0] = (uchar)(0x000000ff & i);
    ba[1] = (uchar)((0x0000ff00&i)>>8);
    return ba;
}

int转单字节

QByteArray SCL::intToByteArray(int i)
{
    QByteArray ba;
    ba.resize(1);
    ba[0] = (uchar)(0x000000ff & i);
    return ba;
}

字节数组转int

int SCL::ByteArray4ToInt(const QByteArray &bytes)
{
    int i = bytes[0] & 0x000000FF;
    i |= ((bytes[1] <<8)&0x0000FF00);
    i |= ((bytes[2] <<16)&0x00FF0000);
    i |= ((bytes[3] <<24)&0xFF000000);
    return i;
}

猜你喜欢

转载自blog.csdn.net/u011978079/article/details/89147373