20

struct.packこのような値をパックおよびアンパックできるようにする Javaの Python に相当する関数はありますか?

pump_on = struct.pack("IIHHI", 0, 0, 21, 96, 512)
4

4 に答える 4

9

私はあなたが後にいるかもしれないものは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();
于 2010-07-09T05:39:02.343 に答える
4

このようなもの:

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

後で、そのデータを読み取ることができます。

final DataInputStream stream = new DataInputStream(
  new ByteArrayInputStream(bytes)
);
final String user = stream.readUTF();
final String password = stream.readUTF();
于 2012-08-23T13:42:54.657 に答える
4

Python Struct に非常に近いプロジェクトの開発を開始しました: JBBPの java-binary-block-parserは次のようになります。

JBBPOut.BeginBin().Int(0,0).Short(21,96).Int(512).End().toByteArray();
于 2014-07-07T05:29:07.673 に答える
1

コア Java で最も近い機能はSerializationです。オブジェクトをバイトシーケンスに変換し、元に戻します。

于 2010-07-09T04:57:18.440 に答える