長さ 160 のバイナリ文字列を 20 バイトに変換しようとしています。バイト配列を取得するために BigInteger を使用しています。14 バイトしか返されません。20 バイトが必要です。
これが私のコードです:
BigInteger b = new BigInteger("0000000000000000000000000000000000000000000001010000000000000000000000000000010000010100001011111110000000000000000000000000000000000000000000000000000000000000", 2);
byte[] newData = b.toByteArray();
ByteArrayOutputStream output = new ByteArrayOutputStream(20);
for (int i = 0; i < 20 - newData.length; i++) {
output.write((byte) 0x00);
}
output.write(newData);
newData = output.toByteArray();