java - float - python struct pack example
Java equivalente de struct.pack de Python? (4)
¿Existe alguna función equivalente a struct.pack
de Python en Java que me permita empaquetar y desempaquetar valores como este?
pump_on = struct.pack("IIHHI", 0, 0, 21, 96, 512)
Algo como esto:
final ByteArrayOutputStream data = new ByteArrayOutputStream();
final DataOutputStream stream = new DataOutputStream(data);
stream.writeUTF(name);
stream.writeUTF(password);
final byte[] bytes = stream.toByteArray(); // there you go
Más tarde, puedes leer esos datos:
final DataInputStream stream = new DataInputStream(
new ByteArrayInputStream(bytes)
);
final String user = stream.readUTF();
final String password = stream.readUTF();
Comencé a desarrollar un proyecto que está muy cerca de Python Struct: java-binary-block-parser en JBBP.
JBBPOut.BeginBin().Int(0,0).Short(21,96).Int(512).End().toByteArray();
Creo que lo que puede ser después es un ByteBuffer :
ByteBuffer pump_on_buf = ...
pump_on_buf.putInt(0);
pump_on_buf.putInt(0);
pump_on_buf.putShort(21);
pump_on_buf.putShort(96);
pump_on_buf.putInt(512);
byte[] pump_on = pump_on_buf.array();
La característica más cercana en el núcleo de Java es la Serialization . Convierte el objeto en secuencia de bytes y viceversa.