转换数据格式

发送数据

inline QByteArray intToByte4(int data, QByteArray msg)
{
    uchar byte0;
    uchar byte1;
    uchar byte2;
    uchar byte3;

    byte0 = (uchar)  (0x000000ff & data);
    byte1 = (uchar) ((0x0000ff00 & data) >> 8);
    byte2 = (uchar) ((0x00ff0000 & data) >> 16);
    byte3 = (uchar) ((0xff000000 & data) >> 24);

    msg.append(byte0);
    msg.append(byte1);
    msg.append(byte2);
    msg.append(byte3);

    return msg;
}

数组、结构体(字节对齐)
QByteArray byteArray;
byteArray.append(reinterpret_cast<const char*>(&struct), sizeof (struct));

接收数据

QByteArray src;
memcpy(&struct, src.constData(), sizeof(struct));

quint64 msg_type;
memcpy(&msg_type,src,N);
backup.remove(0, N);

quint16 data = (src[1] | (src[2] << 8) )

Head *header = (Head *)(data);
Info * pData = (Info*)(data + sizeof(Head));

int value = 123;
unsigned char src[5] = {0};
memcpy(src, &value, sizeof(value));
long long info;
memcpy(&info, reinterpret_cast<const char*>(src), sizeof(src));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值