Java 将数据打包到字节[]

Java 将数据打包到字节[],java,python,bytearray,marshalling,Java,Python,Bytearray,Marshalling,我需要一个类似于Python的Java项目结构模块的东西。我想将整数(可能还有浮点和双精度)打包到字节数组中。此外,我想选择endianness,并且通常可以完全控制如何完成,因为我需要将这些数据发送到一些硬件,这些硬件将运行另一种语言的代码。从这里开始:,您可以使用作为int变量,您可以获取int的每个字节并放入数组中。就像这样: int info = 123456789; byte [] data = new byte[100]; data[0] = (byte) ((info>>

我需要一个类似于Python的Java项目结构模块的东西。我想将整数(可能还有浮点和双精度)打包到字节数组中。此外,我想选择endianness,并且通常可以完全控制如何完成,因为我需要将这些数据发送到一些硬件,这些硬件将运行另一种语言的代码。

从这里开始:,您可以使用作为int变量,您可以获取int的每个字节并放入数组中。就像这样:

int info = 123456789;
byte [] data = new byte[100];
data[0] = (byte) ((info>>24) & 0xff);
data[1] = (byte) ((info>>16) & 0xff);
data[2] = (byte) ((info>>8)  & 0xff);
data[3] = (byte) ((info)     & 0xff);
int out = 0;
out = ((data[0]&0xff)<<24) | ((data[1]&0xff)<<16) | ((data[2]&0xff)<<8) | data[3]&0xff);
System.out.println("info " + info);
System.out.println("out  " + out);
int info=123456789;
字节[]数据=新字节[100];
数据[0]=(字节)((信息>>24)和0xff);
数据[1]=(字节)((信息>>16)和0xff);
数据[2]=(字节)((信息>>8)和0xff);
数据[3]=(字节)((信息)和0xff);
int out=0;

out=((数据[0]&0xff)可能是这样的:?也许你可以直接使用Python?但是可能不会。很抱歉。就像Walkereno一样。想把它写进一个答案中,或者让任何阅读这个问题的人充实一下,这样我就可以把它作为一个被接受的答案吗?@BigEndian,我会把它作为一个答案。让我在充实你之前先玩一下gh:P更好地使用or,而不是“乘以1000000之类的常数”…@glglgl谢谢,使用floatToRawIntBits()真的更好。我会升级我的答案。