如何将大十六进制字符串转换为int?

时间:2015-10-23 15:28:32

标签: java hex

好的我有这个十六进制字符串“efe4b4f355de4cbc”我要将其转换为整数。在python中我这样做:

print int("efe4b4f355de4cbc",16)

我获得的输出是 17286140226965490876

现在,当我尝试使用以下代码在Java中执行相同的操作时:

long convertedHex = Long.parseLong("efe4b4f355de4cbc", 16);

我得到的只是

  

java.lang.NumberFormatException:无效长:“efe4b4f355de4cbc”

但为什么?

无论如何,我虽然我应该尝试BigInteger所以我接下来要做的就是这个

long convertedHex = new BigInteger("efe4b4f355de4cbc", 16).longValue();

现在我得到的结果是 -1160603846744060740 ,但这不是我想要的。我想要与python语言相同的结果。

0 个答案:

没有答案