我正在尝试制作一个在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);

09-27 17:31