リトルエンディアン形式のSeekableByteChannelを使用して、符号付き整数と符号なし整数を読み書きする必要があります。これはばかげているように見えるかもしれませんが、JDKで何かを見つけることができません。私は何かを逃したことがありますか、それとも私はこれを自分で転がすことが期待されていますか?これは問題ありませんが、今日は車輪の再発明をする気はありません。:-)
質問する
547 次
1 に答える
2
ByteBufferの仕事のように聞こえます。
やや好き
public static void main(String[] args) {
byte[] payload = toArray(-1991249);
int number = fromArray(payload);
System.out.println(number);
}
public static int fromArray(byte[] payload){
ByteBuffer buffer = ByteBuffer.wrap(payload);
buffer.order(ByteOrder.LITTLE_ENDIAN);
return buffer.getInt();
}
public static byte[] toArray(int value){
ByteBuffer buffer = ByteBuffer.allocate(4);
buffer.order(ByteOrder.LITTLE_ENDIAN);
buffer.putInt(value);
return buffer.array();
}
于 2012-04-04T13:58:40.970 に答える