我正在尝试将以字符串形式出现的UUID转换为Big Integer,但每次都失败,并带有Number Format异常,因为它需要String Decimal作为参数。有什么方法可以实现这一目标。
String x = "6CFAFD0DA976088FE05400144FFB4B37";
我也尝试过使用基数,但是输出是不同的。
BigInteger big = new BigInteger(x, 0);
System.out.println(big);
感谢您的帮助,TIA。
答案 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