1. ホーム
  2. java

[解決済み] Javaでバイト配列を整数に変換する、またはその逆を行う

2022-04-25 10:49:57

質問

Javaでバイト配列にデータを格納したいのですが、どうすればいいですか?基本的には数字だけで、1つの数字につき最大2Byteまで取ることができます。

整数を2バイト長のバイト配列に変換する方法と、その逆の方法を知りたいです。ググるとたくさんの解決策が見つかりますが、そのほとんどはコードで何が起こっているのか説明していません。私は本当に理解していない多くのシフトのものがあるので、私は基本的な説明をお願いします。

解決方法は?

にあるクラスを使用します。 java.nio 名前空間、特に ByteBuffer . すべての作業を代行することができます。

byte[] arr = { 0x00, 0x01 };
ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default
short num = wrapped.getShort(); // 1

ByteBuffer dbuf = ByteBuffer.allocate(2);
dbuf.putShort(num);
byte[] bytes = dbuf.array(); // { 0, 1 }