gpt4 book ai didi

java - 字节数组转十六进制(int 格式)

转载 作者:行者123 更新时间:2023-12-01 12:16:39 25 4
gpt4 key购买 nike

我有以下函数将字节数组转换为整数格式的十六进制。

private static int byteArray2Int(final byte[] hash) {
Formatter formatter = new Formatter();
for (byte b : hash) {
formatter.format("%02x", b);
}

String str = formatter.toString();
int hex = Integer.parseInt(str, 16); //number format exception

return hex;
}

--

我遇到了以下错误。我知道格式化程序值已经是十六进制,但我想以整数格式存储。

请问我该怎么做?

Exception in thread "main" java.lang.NumberFormatException: For input string: "202e4724bb138c1c60470adb623ac932"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)

最佳答案

使用 BigInteger 如下所示,而不是尝试将其存储在 int 中,因为您的字符串太长,无法容纳在 int 范围内。

String hex = "202e4724bb138c1c60470adb623ac932";
BigInteger bi = new BigInteger(hex, 16);
System.out.println(bi);

关于java - 字节数组转十六进制(int 格式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26957945/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com