gpt4 book ai didi

java - 将十六进制字节数组转换为 int

转载 作者:行者123 更新时间:2023-12-02 10:36:38 26 4
gpt4 key购买 nike

我从客户端将输入流中的 4 个十六进制字节读入服务器端的数组中,例如\x00\x00\x02\x24 是十六进制的 224。我需要将其转换为 int。这怎么可能做到呢?

最佳答案

对它们进行移位和求和(如 DataInputStream#readInt() 中所做的那样)

byte[] bytes = {0, 0, 0x2, 0x24};
int i = ((bytes[0] << 24) + (bytes[1]<< 16) + (bytes[2]<< 8) + (bytes[3] << 0));
System.out.println(i);

输出:

548

也许您正在寻找DataInputStream

byte[] bytes = {0, 0, 0x2, 0x24};
DataInputStream inputStream = new DataInputStream(new ByteArrayInputStream(bytes));
System.out.println(inputStream.readInt());

输出:

548

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

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