byte[]数组和int之间的转换(转)

本帖转自:h t t p://blog.csdn.net/sunnyfans/article/details/8286906

1、int与byte[]之间的转换(类似的byte short,long型)

 1  /** 
 2      * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺序。 和bytesToInt()配套使用
 3      * @param value 
 4      *            要转换的int值
 5      * @return byte数组
 6      */  
 7     public static byte[] intToBytes( int value ) 
 8     { 
 9         byte[] src = new byte[4];
10         src[3] =  (byte) ((value>>24) & 0xFF);
11         src[2] =  (byte) ((value>>16) & 0xFF);
12         src[1] =  (byte) ((value>>8) & 0xFF);  
13         src[0] =  (byte) (value & 0xFF);                
14         return src; 
15     }
16      /** 
17      * 将int数值转换为占四个字节的byte数组,本方法适用于(高位在前,低位在后)的顺序。  和bytesToInt2()配套使用
18      */  
19     public static byte[] intToBytes2(int value) 
20     { 
21         byte[] src = new byte[4];
22         src[0] = (byte) ((value>>24) & 0xFF);
23         src[1] = (byte) ((value>>16)& 0xFF);
24         src[2] = (byte) ((value>>8)&0xFF);  
25         src[3] = (byte) (value & 0xFF);        
26         return src;
27     }

 

byte[]转int

 1  /** 
 2      * byte数组中取int数值,本方法适用于(低位在前,高位在后)的顺序,和和intToBytes()配套使用
 3      *  
 4      * @param src 
 5      *            byte数组 
 6      * @param offset 
 7      *            从数组的第offset位开始 
 8      * @return int数值 
 9      */  
10     public static int bytesToInt(byte[] src, int offset) {
11         int value;    
12         value = (int) ((src[offset] & 0xFF) 
13                 | ((src[offset+1] & 0xFF)<<8) 
14                 | ((src[offset+2] & 0xFF)<<16) 
15                 | ((src[offset+3] & 0xFF)<<24));
16         return value;
17     }
18     
19      /** 
20      * byte数组中取int数值,本方法适用于(低位在后,高位在前)的顺序。和intToBytes2()配套使用
21      */
22     public static int bytesToInt2(byte[] src, int offset) {
23         int value;    
24         value = (int) ( ((src[offset] & 0xFF)<<24)
25                 |((src[offset+1] & 0xFF)<<16)
26                 |((src[offset+2] & 0xFF)<<8)
27                 |(src[offset+3] & 0xFF));
28         return value;
29     }

 

第二种:

 

1、int与byte[]之间的转换(类似的byte short,long型)

 1      /** 
 2      * 将int数值转换为占四个字节的byte数组,本方法适用于(低位在前,高位在后)的顺序。 
 3      * @param value 
 4      *            要转换的int值
 5      * @return byte数组
 6      */  
 7     public static byte[] intToBytes(int value) 
 8     { 
 9         byte[] byte_src = new byte[4];
10         byte_src[3] = (byte) ((value & 0xFF000000)>>24);
11         byte_src[2] = (byte) ((value & 0x00FF0000)>>16);
12         byte_src[1] = (byte) ((value & 0x0000FF00)>>8);  
13         byte_src[0] = (byte) ((value & 0x000000FF));        
14         return byte_src;
15     }

byte[]转int

 1      /** 
 2      * byte数组中取int数值,本方法适用于(低位在前,高位在后)的顺序。
 3      *  
 4      * @param ary 
 5      *            byte数组 
 6      * @param offset 
 7      *            从数组的第offset位开始 
 8      * @return int数值 
 9      */  
10     public static int bytesToInt(byte[] ary, int offset) {
11         int value;    
12         value = (int) ((ary[offset]&0xFF) 
13                 | ((ary[offset+1]<<8) & 0xFF00)
14                 | ((ary[offset+2]<<16)& 0xFF0000) 
15                 | ((ary[offset+3]<<24) & 0xFF000000));
16         return value;
17     }

 

posted @ 2015-03-19 11:19  仆人  阅读(1275)  评论(0编辑  收藏  举报