我正在尝试制作一个在Big Endian中接收二进制字符串的Java程序,例如:“ 11001100111111110001010011000000”。该程序应输出相同的String,但转换为Little Endian。
我能做的是这样的:
private String toLittleEndian(String binaryString) {
while(binaryString.length() < 32)
binaryString = "0" + binaryString;
String result = "";
for (int i = binaryString.length() - 1; i > 0; i -= 8)
{
String str = binaryString.substring(i - 7, i + 1);
result += str;
}
//result = result.substring(zeros_added, result.length());
return result;
}
但是当我打电话给我时,它并没有给我预期的结果
Integer.parseInt(binaryString, 2);
有任何想法吗?
谢谢。
最佳答案
二进制字符串11001100111111110001010011000000
不适合int
。尝试使用long
String binaryString="11001100111111110001010011000000";
long value = Long.parseLong(binaryString, 2);