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

在Java中将字符串UUID转换为BigInteger,java,uuid,biginteger,Java,Uuid,Biginteger,我正在尝试将UUID转换为大整数,但每次都失败,数字格式异常,因为它需要字符串Decimal作为参数。我们有没有办法做到这一点 String x = "6CFAFD0DA976088FE05400144FFB4B37"; 我也尝试使用基数,但输出不同 BigInteger big = new BigInteger(x, 0); System.out.println(big); 非常感谢您的帮助,TIA。您应该使用基数16,因为您的字符串具有0-9和A-F之间的字母数字值,设置基数16的值,

我正在尝试将UUID转换为大整数,但每次都失败,数字格式异常,因为它需要字符串Decimal作为参数。我们有没有办法做到这一点

String x = "6CFAFD0DA976088FE05400144FFB4B37";
我也尝试使用基数,但输出不同

BigInteger big = new BigInteger(x, 0);

System.out.println(big);

非常感谢您的帮助,TIA。

您应该使用基数16,因为您的字符串具有0-9和A-F之间的字母数字值,设置基数16的值,就像设置十六进制字符串一样

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

144859830291446118078300087367740640055

您需要将基数设置为16


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

,只需设置正确的基数,那么它的工作方式就像一个带有十六进制字符的字符串。那么您可能应该使用base 16。我想知道为什么您将其处理为
biginger
,而不是
java.util.UUID
。@Henry可以称之为UUID,但字符串值不是这种格式。:)请注意,要处理它,基数至少需要为16,但可以高达1636@XtremeBaumer我同意。多解释一下就好了。