如何在 Java 中将二进制字符串转换为二进制字节数组



我有这样的二进制字符串:字符串 a = "100100"。我需要有二进制字节数组:byte[] b = {1,0,0,1,0,0} 用于输出。

这是我的代码:

    String a="100100";
    byte[] b = null;
    for (int i = 0; i < a.length(); i++) {
        b[i]=a.charAt(i)=='1'? (byte) 1: (byte) 0;
        System.out.println("b["+i+"]: "+b[i]);
    }

但是当我运行它时,这种方法不起作用。任何人都可以纠正吗?谢谢

byte[] 未初始化。所以我们需要在使用它之前进行初始化。

byte[] b = new byte[a.length()];
try this

你没有给你的byte[] b赋值,因此导致一个NullPointerException,因为你后来通过索引引用它。

试试这个:

String a="100100";
byte[] b = new byte[a.length()]; // here
for (int i = 0; i < a.length(); i++) {
    b[i]=a.charAt(i)=='1'? (byte) 1: (byte) 0;
}
System.out.println(Arrays.toString(b)); // easier print once finished

输出

[1, 0, 0, 1, 0, 0]

相关内容

  • 没有找到相关文章

最新更新