把int数据转换成对应个数的字节数组

   public static byte[] intToBytesHigh(int value, int n)
   {
       byte[] src = new byte[n];
       for (int i = 0; i < n; ++i)
       {
           src[i] = (byte)(value >> 8 * (n - i - 1) & 255);
       }
       return src;
   }

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 对于你的问题,我认为它属于技术问题,可以回答。使用Qt中的QPoint和QByteArray都有to/from方法,可以互相转换类型。具体地,使用QPoint的toByteArray方法可以将点转换成字节数组,反过来使用QPoint的fromByteArray方法可以将字节数组转换成点。 ### 回答2: 在Qt中,可以使用QPoint类和QByteArray类来实现一个点与一个字节数组的相互转换。下面是代码示例: 1. 点到字节数组转换: ```cpp QPoint point(10, 20); QByteArray byteArray(reinterpret_cast<const char*>(&point), sizeof(QPoint)); // 输出字节数组的内容 for (int i = 0; i < byteArray.size(); i++) { qDebug() << QString("%1").arg((unsigned char)byteArray[i], 2, 16, QChar('0')).toUpper(); } ``` 这段代码中,我们先创建了一个QPoint对象,然后使用reinterpret_cast将其转换为const char*类型,再用QByteArray构造函数将其转换字节数组。通过遍历字节数组的每个元素,我们可以看到点的x坐标和y坐标分别以4个字节的形式存储在字节数组中。 2. 字节数组到点的转换: ```cpp QByteArray byteArray; // 假设byteArray中存储了点的信息 Q_ASSERT(byteArray.size() == sizeof(QPoint)); // 确保字节数组的大小与点的大小一致 QPoint point(*reinterpret_cast<const QPoint*>(byteArray.constData())); ``` 这段代码中,首先我们假设byteArray中存储了点的信息。然后通过reinterpret_cast将const char*类型的字节数组转换为const QPoint*类型,再通过解引用操作符*将其还原为QPoint类型的对象,就得到了我们需要的点对象。 总之,通过reinterpret_cast和QByteArray的构造函数,可以很方便地实现一个点与一个字节数组的相互转换。 ### 回答3: QT 可以通过 QByteArray 类来实现一个点与一个字节数组的相互转换。下面是一个简单的示例代码: ```cpp #include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); // 创建一个点 QPoint point(100, 200); qDebug() << "原始点坐标:" << point; // 将点转换字节数组 QByteArray byteArray; QDataStream stream(&byteArray, QIODevice::WriteOnly); stream << point; // 将字节数组转换为点 QPoint newPoint; QDataStream inputStream(&byteArray, QIODevice::ReadOnly); inputStream >> newPoint; // 打印转换后的点 qDebug() << "转换后的点坐标:" << newPoint; return app.exec(); } ``` 在这个示例中,我们首先创建一个点(100,200)。然后,我们使用一个 `QByteArray` 对象创建了一个 `QDataStream`,并使用 `<<` 运算符将点写入字节数组。接下来,我们再次创建一个 `QDataStream`,从字节数组中读取点的值,并将其存储在另一个 `QPoint` 对象中(newPoint)。最后,我们通过输出 `newPoint` 的坐标,验证了点与字节数组的相互转换。 通过使用 QT 的 QByteArray 类以及 QDataStream 的序列化功能,我们可以方便地将点与字节数组相互转换
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值