将二进制字符串转换为字节数组

2022-09-04 05:13:23

我有一个1和0的字符串,我想将其转换为字节数组。

例如,如何将其转换为长度为 2 的 a?String b = "0110100001101001"byte[]


答案 1

将其解析为以 2 为基数的整数,然后转换为字节数组。实际上,由于您已经拥有16位,因此是时候打破很少使用的.short

short a = Short.parseShort(b, 2);
ByteBuffer bytes = ByteBuffer.allocate(2).putShort(a);

byte[] array = bytes.array();

答案 2

另一种简单的方法是:

String b = "0110100001101001";
byte[] bval = new BigInteger(b, 2).toByteArray();