Java - 将Big Endian二进制字符串转换为Little Endian

时间:2015-05-01 11:49:57

标签: java binary endianness

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

有什么想法吗? 谢谢。

1 个答案:

答案 0 :(得分:0)

二进制字符串11001100111111110001010011000000不适合int。试试long

String binaryString="11001100111111110001010011000000";
long value =  Long.parseLong(binaryString, 2);