[英]How to convert String to byteArray and byteArray to String Array in java?
[英]Convert array of doubles to bytearray in Java
过去,我并没有做太多的字节移位操作,所以我在这里有点损失。 基本上,我有大小为26的双精度数组,并且应该用Java在一个UDP数据包中发送该数组。 我找到了一些如何将一个double转换为bytearray的示例,但是我不确定如何将其应用于double数组。
那么应该怎么做呢? 遍历double型数组并转换每个double型,然后以某种方式将它们串联为一个字节数组?
那么应该怎么做呢? 遍历double型数组并转换每个double型,然后以某种方式将它们串联为一个字节数组?
究竟。 也许可以使用DoubleBuffer。 (Marko在他的评论中链接了它)
Marko所指的实际上是拥有一个ByteBuffer并为其获取“ DoubleBuffer”视图。 因此,您可以put
Doubles放入DoubleBuffer视图中,并从原始ByteBuffer中获取byte []。
使用java.nio.ByteBuffer将双打转换为字节数组
ByteBuffer bb = ByteBuffer.allocate(doubles.length * 8);
for(double d : doubles) {
bb.putDouble(d);
}
获取字节数组
byte[] bytearray = bb.array();
通过网络发送它,然后在接收端将其转换为双精度数组
ByteBuffer bb = ByteBuffer.wrap(bytearray);
double[] doubles = new double(bytearray.length / 8);
for(int i = 0; i < doubles.length; i++) {
doubles[i] = bb.getDouble();
}
apache httpcore提供了一个org.apache.http.util.ByteArrayBuffer类,对我有帮助
ByteArrayBuffer buffer = new ByteArrayBuffer(26);
buffer.append(...)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.