这里对java中整数与byte数组的转换进行了实现,平时的项目中很少用的到,但是特定需求的时候还是需要的,这里就记录下,亲测可用,
实现代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
public class NumberUtil {
/**
* int整数转换为4字节的byte数组
*
* @param i
* 整数
* @return byte数组
*/
public static byte [] intToByte4( int i) {
byte [] targets = new byte [ 4 ];
targets[ 3 ] = ( byte ) (i & 0xFF );
targets[ 2 ] = ( byte ) (i >> 8 & 0xFF );
targets[ 1 ] = ( byte ) (i >> 16 & 0xFF );
targets[ 0 ] = ( byte ) (i >> 24 & 0xFF );
return targets;
}
/**
* long整数转换为8字节的byte数组
*
* @param lo
* long整数
* @return byte数组
*/
public static byte [] longToByte8( long lo) {
byte [] targets = new byte [ 8 ];
for ( int i = 0 ; i < 8 ; i++) {
int offset = (targets.length - 1 - i) * 8 ;
targets[i] = ( byte ) ((lo >>> offset) & 0xFF );
}
return targets;
}
/**
* short整数转换为2字节的byte数组
*
* @param s
* short整数
* @return byte数组
*/
public static byte [] unsignedShortToByte2( int s) {
byte [] targets = new byte [ 2 ];
targets[ 0 ] = ( byte ) (s >> 8 & 0xFF );
targets[ 1 ] = ( byte ) (s & 0xFF );
return targets;
}
/**
* byte数组转换为无符号short整数
*
* @param bytes
* byte数组
* @return short整数
*/
public static int byte2ToUnsignedShort( byte [] bytes) {
return byte2ToUnsignedShort(bytes, 0 );
}
/**
* byte数组转换为无符号short整数
*
* @param bytes
* byte数组
* @param off
* 开始位置
* @return short整数
*/
public static int byte2ToUnsignedShort( byte [] bytes, int off) {
int high = bytes[off];
int low = bytes[off + 1 ];
return (high << 8 & 0xFF00 ) | (low & 0xFF );
}
/**
* byte数组转换为int整数
*
* @param bytes
* byte数组
* @param off
* 开始位置
* @return int整数
*/
public static int byte4ToInt( byte [] bytes, int off) {
int b0 = bytes[off] & 0xFF ;
int b1 = bytes[off + 1 ] & 0xFF ;
int b2 = bytes[off + 2 ] & 0xFF ;
int b3 = bytes[off + 3 ] & 0xFF ;
return (b0 << 24 ) | (b1 << 16 ) | (b2 << 8 ) | b3;
}
}
|
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
原文链接:http://blog.csdn.net/aotian16/article/details/9859213