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

J.D*_*ied -1 java type-conversion

我有小端格式的十六进制,我想将它转换为 int,几个例子:

“FC5F2E00”-> 3039228

“5E602E00”-> 3039326

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

    public int hexToInt(String hex){

}
Run Code Online (Sandbox Code Playgroud)

Ale*_*ter 7

您必须颠倒十六进制字符串的顺序并将字符串解析为整数。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
Run Code Online (Sandbox Code Playgroud)