バイナリ string がありますString A = "1000000110101110"
。この文字列を長さ2のバイト配列に変換したいjava
私はこのリンクの助けを借りました
いろいろな方法でバイトに変換しようとしました
最初にその文字列を10進数に変換してから、コードを適用してバイト配列に格納します
int aInt = Integer.parseInt(A, 2); byte[] xByte = new byte[2]; xByte[0] = (byte) ((aInt >> 8) & 0XFF); xByte[1] = (byte) (aInt & 0XFF); System.arraycopy(xByte, 0, record, 0, xByte.length);
しかし、バイト配列に格納される値は負です
xByte[0] :-127
xByte[1] :-82
これは間違った値です。
2.私も使ってみました
byte[] xByte = ByteBuffer.allocate(2).order(ByteOrder.BIG_ENDIAN).putInt(aInt).array();
しかし、上記の行で例外をスローします
java.nio.Buffer.nextPutIndex(Buffer.java:519) at
java.nio.HeapByteBuffer.putInt(HeapByteBuffer.java:366) at
org.com.app.convert.generateTemplate(convert.java:266)
java
バイナリ文字列を 2 バイトのバイト配列に変換するにはどうすればよいですか?バイト配列を取得する組み込み関数はありますか?