将二进制字符串转换为二进制

时间:2014-07-21 23:07:34

标签: java arrays string binary bytearray

如何将写为二进制的字符串转换为二进制(字节数组)?

如果我有一个字符串:

String binary = "0000"

我希望二进制数据为0000

下面是当我将二进制文件设置为字节数组(然后返回48,即ASCII)时会发生什么。

Binary String: 0000 Binary Byte array: 48 Binary Byte array: 48 Binary Byte array: 48 Binary Byte array: 48

我不擅长解释,所以希望上面的例子足以告诉你我想要什么。

编辑:这是将数据设置为二进制文件。

4 个答案:

答案 0 :(得分:4)

使用此:

    System.out.println(Integer.toBinaryString(Integer.parseInt("000",2))); // gives 0
    System.out.println(Integer.toBinaryString(Integer.parseInt("010",2))); // gives 10
    System.out.println(Integer.toBinaryString(Integer.parseInt("100",2))); // gives 100

答案 1 :(得分:1)

  

从二进制转换为十进制

System.out.println(new BigInteger("1010",2).toString()); // 10 decimal
  

从十进制转换为二进制/八进制/十六进制

您可以使用BigInteger#toString(radix)方法获取任何基数的值。

System.out.println(new BigInteger("10").toString(2));  // 1010  binary
System.out.println(new BigInteger("10").toString(8));  // 12    octal
System.out.println(new BigInteger("10").toString(16)); // a     hexadecimal

让我向您解释一下如何使用不同的基础

(10) 10 =(1010) 2

(10) 10 =(12) 8

(10) 10 =(a) 16

答案 2 :(得分:1)

也许你想要这个:

int i = Integer.valueOf(binary, 2); // ie base 2

此调用期望输入为0和1个字符串。

然后,如果你想要一个字节数组:

byte[] bytes = new ByteBuffer().putInt(i).compact().array();

答案 3 :(得分:1)

JBBP framework在utils中有一个特殊的方法将包含二进制定义数据的字符串转换为字节数组

 byte [] converted = JBBPUtils.str2bin("00000000");