在 java 中将十六进制小端字符串转换为 int

Convert hex little endian String to int in java

我有小端格式的十六进制,我想把它转换成整数,举几个例子:

"FC5F2E00" -> 3039228

"5E602E00" -> 3039326

String s1="FC5F2E00";
String s1="5E602E00";

    public int hexToInt(String hex){

}

您必须颠倒十六进制字符串的顺序并将字符串解析为整数。 FC5F2E00 变成 002E5FFC 而 002E5FFC 变成 3039228.

public static int toLittleEndian(final String hex) {
    int ret = 0;
    String hexLittleEndian = "";
    if (hex.length() % 2 != 0) return ret;
    for (int i = hex.length() - 2; i >= 0; i -= 2) {
        hexLittleEndian += hex.substring(i, i + 2);
    }
    ret = Integer.parseInt(hexLittleEndian, 16);
    return ret;
}

Input: FC5F2E00
Output: 3039228