给定以下字符串:
3132333435363738396162636465666768696a6b6c6d6e6f70
我将字符串转换为十六进制,现在我想将其写入为十六进制而不是字符串。我尝试将其转换为 int,但Integer.parseInt
最多只能转换为 4,如果超出,它已经给出错误。
给定以下字符串:
3132333435363738396162636465666768696a6b6c6d6e6f70
我将字符串转换为十六进制,现在我想将其写入为十六进制而不是字符串。我尝试将其转换为 int,但Integer.parseInt
最多只能转换为 4,如果超出,它已经给出错误。
您是否尝试过BigInteger
使用字符串和基数的构造函数?
BigInteger value = new BigInteger(hex, 16);
示例代码:
import java.math.BigInteger;
public class Test {
public static void main(String[] args) {
String hex = "3132333435363738396162636465666768696a6b6c6d6e6f70";
BigInteger number = new BigInteger(hex , 16);
System.out.println(number); // As decimal...
}
}
输出:
308808885829455478403317837970537433512288994552567292653424
使用BigInteger,其中一个构造函数采用基数。
BigInteger value = new BigInteger(hexString, 16);
尝试:
new BigInteger("3132333435363738396162636465666768696a6b6c6d6e6f70", 16)