這里對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