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

时间:2018-08-30 06:23:58

标签: java uuid biginteger

我正在尝试将以字符串形式出现的UUID转换为Big Integer,但每次都失败,并带有Number Format异常,因为它需要String Decimal作为参数。有什么方法可以实现这一目标。

String x = "6CFAFD0DA976088FE05400144FFB4B37";

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

BigInteger big = new BigInteger(x, 0);

System.out.println(big);

感谢您的帮助,TIA。

2 个答案:

答案 0 :(得分:5)

您需要将radix的值设置为16。

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

答案 1 :(得分:4)

您应该使用 radix 16,因为您的字符串具有0-9和A-F之间的字母数字值,如果您具有十六进制字符串,则将基数设置为16。

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

输出

144859830291446118078300087367740640055