当前位置: 首页 > 面试题库 >

如何将大型二进制字符串转换为字节数组Java?

汪建德
2023-03-14
问题内容

我有一个很大的二进制字符串“ 101101110 …”,并且正在尝试将其存储到字节数组中。最好的方法是什么?

可以说我有largeString =“ 0100111010111011011011000000001000110101”

我正在寻找的结果:

[78,187,96,17,21]

01001110 10111011 01100000 00010001 10101

我试过的

byte[] b= new BigInteger(largeString,2).toByteArray();

但是它没有给我我想要的结果…


问题答案:

您可以轻松构建一个ArrayList,如果需要实际的数组,可以在其上调用toArray。

List<Integer> list = new ArrayList<>();

for(String str : largeString.split("(?<=\\G.{8})"))
    list.add(Integer.parseInt(str, 2));

System.out.println(list);  // Outputs [78, 187, 96, 17, 21]


 类似资料:
  • 问题内容: 假设我有字符串: 我得到的位置无关紧要,但是为了具体起见,假设我从二进制文件中读取了它。 我知道我的字符串是4(4字节)浮点数的二进制表示形式。我想将那些浮点数作为一个numpy数组。我 可以 做: 但是创建中间元组似乎很愚蠢。有没有一种方法可以在不创建中间元组的情况下执行此操作? 编辑 我还希望能够以可以指定字符串的字节序的方式构造数组。 问题答案: 或者,如果您想要大端字节序: 的

  • 将可变长度十六进制字符串(例如,转换为包含该数据的字节数组的最佳方式是什么。 即转换: 进入这个 还是这个 因此,当我将此写入一个文件并将其写入hexresp-C时,我将得到包含的二进制数据。

  • 问题内容: 尽管有很多相关的问题,但找不到与我的问题相符的问题。我想将二进制字符串(例如,)更改为字节数组(相同的示例,)。 我尝试了这个: 但是我得到了: 在Python 3中执行此操作的正确方法是什么? 问题答案: 这是Patrick提到的第一种方法:将位串转换为int并一次取8位。这样做的自然方法是按相反的顺序生成字节。要获得字节放回我的字节组使用扩展切片标志为-1的一步正确的顺序:。 显然

  • 我得到一个错误读数:

  • 我如何将一个写为二进制的字符串转换为二进制(字节数组)? 如果我有一个字符串: 下面是当我将二进制设置为字节数组时发生的情况(字节数组返回48,这是ASCII) 我不擅长解释,所以希望上面的例子足以告诉你我想要什么。

  • 问题内容: 我有一个一维String数组,我想将其转换为一维字节数组。我该怎么做呢?这需要ByteBuffer吗?我怎样才能做到这一点?(字符串可以是任意长度,只想知道如何执行这样的操作。将其转换为字节数组后,如何将其转换回String数组? -担 问题答案: 数组到数组 ,应该 手动 将其转换为两边,但是如果只有一个String,则可以和; 像这样 对于string []中的一个字节[],您必须