任意长度到二进制数组的整数

时间:2016-06-21 20:29:40

标签: java

我正在尝试编写一个方法,将只包含十进制数字的String转换为二进制数组。

基本问题是我不能使用Integer.parseInt方法将字符串视为整数。例如......

Integer.toBinaryString(Integer.parseInt(message));

这对我不起作用,因为int数据类型只允许4个字节。

我的方法必须适用于任何长度的消息。

我认为一些解析是有序的,但我不知道如何解决这个问题。

2 个答案:

答案 0 :(得分:4)

BigInteger课程可以帮到你。它支持任何大小的整数,并具有执行所需转换的方法。只需使用the constructor which takes a String,然后使用toByteArray()进行转换。

byte[] result = (new BigInteger(numberString)).toByteArray();

答案 1 :(得分:-1)

您可以尝试一次接近一个块并连接结果。 See here how to split the String