gpt4 book ai didi

java - 使用java或android将整数转换为无符号字节数组

转载 作者:太空宇宙 更新时间:2023-11-04 12:09:21 25 4
gpt4 key购买 nike

嗨,我在 SO 中看到了许多将整数值转换为无符号字节数组的链接。但我无法得到清晰的想法。我的转换如下

//在安卓中

int checksum=104396;

byte[] byteArray = GetBytesInt(checksum);

public static byte[] GetBytesInt(int value) {
byte[] bytes = new byte[4];
bytes[0] = (byte) (value >> 24);
bytes[1] = (byte) (value >> 16);
bytes[2] = (byte) (value >> 8);
bytes[3] = (byte) (value);
return bytes;
}

android 中的输出
[0,1,-105,-52]

//c# 中

uint CheckSum=104396;

byte[] byteArray=BitConverter.GetBytes(CheckSum)

where BitConverter is System method

C# 中的输出

[204,151,1,0]

我如何在java或android中获得这个输出。我检查了 java 8 和 Guava 也返回了相同的结果。

请帮我编码

最佳答案

根据 @greenapps 的建议,获取 LITTLE_ENDIAN 格式的字节数组解决了问题。

ByteBuffer byteBuffer = ByteBuffer.allocate(4);
byteBuffer.order(ByteOrder.LITTLE_ENDIAN);
byteBuffer.putInt((int) (value & 0xffffffffL));
byte[] array=Bytes.asList(byteBuffer.array())

Android 中的输出

[-52,-105,1,0]

关于java - 使用java或android将整数转换为无符号字节数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40017089/

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