zoukankan      html  css  js  c++  java
  • 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     }
  • 相关阅读:
    关于Maven项目的pom.xml中的依赖或插件失效的解决方法
    java引用数据类型在方法中的值传递
    java匹配http或https的url的正则表达式20180912
    java正则表达式的进阶使用20180912
    java线程池 多线程 搜索包含关键字的文件路径
    魔术球问题
    [SDOI2009]晨跑
    [洛谷P2045]方格取数加强版
    最小路径覆盖问题
    最长不下降子序列问题
  • 原文地址:https://www.cnblogs.com/craigtao/p/4349872.html
Copyright © 2011-2022 走看看