我正在尝试编写一个方法,将只包含十进制数字的String转换为二进制数组。
基本问题是我不能使用Integer.parseInt方法将字符串视为整数。例如......
Integer.toBinaryString(Integer.parseInt(message));
这对我不起作用,因为int数据类型只允许4个字节。
我的方法必须适用于任何长度的消息。
我认为一些解析是有序的,但我不知道如何解决这个问题。
答案 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