数据类型int跟byte[]数组互转的方法!
2007-08-15 22:08
549 查看
这些天在作弄socket下的编程,偶然用到了这么一个东东,觉得有点意思,就发出来给大家看看!
int转byte数组
public static byte[] intToBytes2(int n){
byte[] b = new byte[4];
for(int i = 0;i < 4;i++)
{
b[i]=(byte)(n>>(24-i*8));
}
return b;
}
字节数组转int
public static int byteToInt2(byte[] b){
return (((int)b[0]) << 24) + (((int)b[1]) << 16) + (((int)b[2]) << 8) + b[3];
}
经过调试,发现这个函数有个BUG,会丢失数据长度256.大家可以用这个函数替换
public static int byteToInt2(byte[] b) {
int mask=0xff;
int temp=0;
int n=0;
for(int i=0;i<4;i++){
n<<=8;
temp=b[i]&mask;
n|=temp;
}
return n;
}
int转byte数组
public static byte[] intToBytes2(int n){
byte[] b = new byte[4];
for(int i = 0;i < 4;i++)
{
b[i]=(byte)(n>>(24-i*8));
}
return b;
}
字节数组转int
public static int byteToInt2(byte[] b){
return (((int)b[0]) << 24) + (((int)b[1]) << 16) + (((int)b[2]) << 8) + b[3];
}
经过调试,发现这个函数有个BUG,会丢失数据长度256.大家可以用这个函数替换
public static int byteToInt2(byte[] b) {
int mask=0xff;
int temp=0;
int n=0;
for(int i=0;i<4;i++){
n<<=8;
temp=b[i]&mask;
n|=temp;
}
return n;
}
相关文章推荐
- 两种将int类型的数据转换成byte数组,以及反向转换的代码
- 如何将int类型数据转换成byte数组
- Java 字节数组类型(byte[])与int类型互转方法
- 基于java中byte数组与int类型的转换(两种方法)
- 转载-两种将int类型的数据转换成byte数组,以及反向转换的代码
- Netty 快速入门系列 - Chapter 6 自定义数据协议【第十三讲】 通过大端序列方法将4个字节int转成 byte数组
- VUE中解决不能检测数组中基本数据类型的方法及$set的使用方法
- java中byte数组与int类型的转换(两种方式)
- java中int类型和byte[]数组之间的转换
- java中byte数组与int类型的转换(两种方式)
- JAVA位运算、进制转换、byte数组转换、JAVA数据类型取值范围
- java中byte数组与int类型的转换(两种方式)
- js实现数组项升序、降序 方法(适用大部分数据类型)
- java基本数据类型转换成byte[]数组
- java中的int类型和byte数组的相互转换
- iOS开发-- 使用NSNumber将int、float、long等数据类型加入到数组或字典中
- int、long、float类型的数组转化成byte类型的数组
- [零基础学JAVA]Java SE基础部分-03.标识符、数据类型,数组,方法
- 黑马程序员_Java基础(数据类型、Java操作符、数组排序方法)
- javascript封装判断全数据类型方法, toString方法, 对象的枚举(in, instanceof, hasOwnProperty的用法), arguments类数组属性