byte数组转为int
有两种原理,
一种是先左移动24位,在无符号右移 对应的是byte2int3
另外一种是 先移动 在把干扰的和0做与操作,消除干扰(byte负数的时候 右移时左边都是1,这个时候是有干扰的) 对应的是byte2int2
还有就是这两种的结合了 对应byte2int
注意这个转成byte和实际int的byte的顺序是相反的,不要理解错了。
这样写的原因是写起来更好看,功能反正是ok的
public static int byte2int(byte[] res) {
int targets = (res[0] & 0xff) | ((res[1] << 8) & 0xff00)
| ((res[2] << 24) >>> 8) | (res[3] << 24);
return targets;
}
public static int byte2int2(byte[] res) {
int targets = (res[0] & 0xff) | ((res[1] << 8) & 0xff00)
| ((res[2] << 16) & 0xff0000) | (res[3] << 24);
return targets;
}
public static int byte2int3(byte[] res) {
int targets = ((res[0] << 24) >>> 24) | ((res[1] << 24) >>> 16)
| ((res[2] << 24) >>> 8) | (res[3] << 24);
return targets;
}
int转为byte数组就比较简单了:
public static byte[] int2byte(int res) {
byte[] targets = new byte[4];
targets[0] = (byte) (res & 0xff);
targets[1] = (byte) ((res >> 8) & 0xff);
targets[2] = (byte) ((res >> 16) & 0xff);
targets[3] = (byte) (res >>> 24);
return targets;
}
分享到:
相关推荐
byte数组操作的工具类,支持byte数组转int,int转byte数组,byte数组转short,short转byte数组。。。 下载的人多了,csdn会自动涨分,现在可以手动调了,我给降到最低了
Java bytes数组与基本类型的相互转换 Int -> Bytes int64ToByte8 int48ToByte6 int40ToByte5 int32ToByte4 int24ToByte3 int16ToByte2 int8ToByte Bytes -> Int bytesToInt64 bytesToInt48 bytesToInt40 bytesTo...
字符类型在 Java 中是 16 位的 Unicode 字符,转换成 byte 数组需要将字符类型转换成 int 类型,然后将 int 类型转换成 byte 数组。例如: ```java public static byte[] charToByteArr(char ch) { byte[] b = new...
写一个方法,将int类型转换为字节数组,输入任意int类型整型,输出字节数组;写第二个方法,输入字节数组,输出对应int类型数据。
本文将深入探讨如何在Java中实现两个`byte`数组的合并,以及一些相关的操作,如数组反转和加密。 首先,我们来看一下标题和描述中提到的示例代码。这个简单的函数`addBytes`接收两个`byte`类型的数组`data1`和`data...
本文将深入探讨如何在Java中将byte数组与其他基本类型(如short、int、long)进行转换,这些转换在处理二进制数据、网络通信或序列化等方面至关重要。 首先,我们来看byte数组与short之间的转换。在Java中,byte...
在从byte数组转换回int时,我们使用左移操作和按位或操作(OR)。例如,`int i=0; i+=((b[0]&0xff));` 这里首先将byte转为int并保留其字节值,然后左移24位,将字节放到int的最高位字节处。对于后续的每个字节,都...
#### 三、将byte数组转换回图片的方法 **方法名称**:`bytesToImage` **参数**: - `byte[] bytes`:表示包含图像数据的字节数组。 **返回值**:`Image` 表示转换后的图像对象。 **实现逻辑**: 1. **创建图像**...
由于Java基本类型和byte数组都是基本的数据结构,因此在Java编程中经常需要将基本类型转换为byte数组,或者将byte数组转换为基本类型。 在上面的代码中,我们可以看到将Java基本类型转换为byte数组的多个方法,每个...
Java整数与byte数组的转换实现代码 Java整数与byte数组的转换是Java编程中常见的操作,以下是相关的知识点: 一、Java整数与byte数组的转换实现代码 Java中的整数可以转换为byte数组,以便于在网络上传输或存储。...
在Java编程中,将`int`类型转换为`byte`数组以及从`byte`数组还原回`int`类型是常见的操作,特别是在网络编程中。这是因为网络传输的数据通常以字节流的形式存在,而`int`等基本数据类型需要进行适当的序列化才能...
ip地址转4字节byte,char转2字节byte,byte数组转char,int整数转换为4字节的byte数组,byte数组转换为int整数,double类型转8字节数组,8位数组转double,long整数转换为8字节的byte数组,short整数转换为2字节的...
char short int long float double 转换成byte数组
这些基本类型可以相互转换,例如将 short 类型转换成 byte 数组、int 类型转换成 byte 数组等。 在 Java 中,基本类型可以使用 bitwise 运算符来实现与 byte 数组的转换。例如,将 short 类型转换成 byte 数组可以...
Byte数组转换为Short值 最后,`byte`数组也可以转换回相应的基本类型。例如,将2字节的`byte`数组转换为`short`值: ```java public static short byteArrToShort(byte[] b) { byte[] a = new byte[2]; int i =...
下面,我们将深入探讨如何在Java中实现图像数据与字节数组之间的相互转换,并分析这一过程中的关键步骤和技术细节。 ### 转换Image数据为byte数组 #### 方法一:`imageToBytes`函数解析 在Java中,将`Image`对象...
在Java或类似的编程语言中,我们经常会遇到需要将字符串(String)与字节数组(Byte[])以及十六进制表示的字符串(Hex)进行相互转换的情况。这些转换在处理网络通信、文件存储、加密解密等领域尤为关键。下面我们...
Java任意长度byte数组转换为int数组的方法 Java语言中,byte数组和int类型数据的转换是一件非常重要的事情。...将byte数组转换为int数组需要使用移位操作和或运算,并且需要考虑到Java中int类型数据是有符号的。
在Java编程中,将字节数组转换为16进制字符串是一项常见的任务,尤其是在处理二进制数据、网络通信或者存储数据时。16进制(Hexadecimal)是一种数字表示方式,它使用16个符号(0-9和A-F)来表示数值,对于显示和...
2. **Java中byte数组和int之间的转换** - **byte数组转int**:当需要从`byte`数组中读取`int`时,通常需要按照字节顺序(Big-Endian或Little-Endian)组合数组中的字节。例如,如果数组是Big-Endian,可以按顺序将...