在 Java 中将字符串 UUID 转换为 BigInteger

Convert String UUID to BigInteger in Java

我正在尝试将以字符串形式出现的 UUID 转换为大整数,但每次都失败并出现数字格式异常,因为它需要字符串十进制作为参数。有什么办法可以实现吗

String x = "6CFAFD0DA976088FE05400144FFB4B37";

我也尝试使用基数,但输出不同。

BigInteger big = new BigInteger(x, 0);

System.out.println(big);

感谢任何帮助,TIA。

您应该使用 radix 16,因为您的字符串具有 0-9 和 A-F 的字母数字值,因为您有十六进制字符串,所以在 radix 中设置值 16。

String x = "6CFAFD0DA976088FE05400144FFB4B37";
BigInteger big = new BigInteger(x, 16);
System.out.println(big);

输出

144859830291446118078300087367740640055

您需要将 radix 值设置为 16。

对于十六进制字符串,您需要将基数定义为 16