gpt4 book ai didi

java - 将表示为十六进制字符串的字节数组转换为正确的 int

转载 作者:行者123 更新时间:2023-11-29 04:29:16 25 4
gpt4 key购买 nike

我有一个字节数组,

[102, 100, 51, 52, 48, 48]

其中有十六进制字符串表示:

“fd3400”

如果我将其转换为数字,则显示为 16593920。

但是,当我使用下面的代码片段转换它时

int iSec = ByteBuffer.wrap(bSec).order(ByteOrder.LITTLE_ENDIAN).getInt();

我得到结果:875783270。这些字节应该是 LSB 格式,但我似乎无法得到正确的值,因为 875783270 != 16593920。我对这些数据格式感到有点困惑.

最佳答案

字节数组包含一个字符串的字节表示。

ASCII :

  • 102 == 'f'
  • 100 == 'd'
  • 51 == '3'
  • 52 == '4'
  • 48 == '0'

您应该将字节数组转换为字符串,然后使用 base 16(十六进制)解析该字符串。

String hex = new String(arr, "ASCII"); //fd3400
int number = Integer.valueOf(hex, 16).intValue(); //16593920

关于java - 将表示为十六进制字符串的字节数组转换为正确的 int,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44494897/

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