java整数与byte数组的转换实现代码

 更新时间:2017年07月12日 15:27:49   作者:aotian16  
这篇文章主要介绍了java整数与byte数组的转换实现代码的相关资料,需要的朋友可以参考下

java整数与byte数组的转换实现代码

           这里对java中整数与byte数组的转换进行了实现,平时的项目中很少用的到,但是特定需求的时候还是需要的,这里就记录下,亲测可用,

实现代码:

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; 
  } 
} 

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

相关文章

  • java实现web实时消息推送的七种方案

    java实现web实时消息推送的七种方案

    这篇文章主要为大家介绍了java实现web实时消息推送的七种方案示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • Java源码解析之GenericDeclaration详解

    Java源码解析之GenericDeclaration详解

    这篇文章主要介绍了Java源码解析之GenericDeclaration详解。有句古话说得好,源码能使人快乐!这里分享给大家,供需要的朋友参考。
    2017-10-10
  • java+mysql实现商品抢购功能

    java+mysql实现商品抢购功能

    这篇文章主要为大家详细介绍了java+mysql实现商品抢购功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-02-02
  • spring学习之util:properties的使用

    spring学习之util:properties的使用

    这篇文章主要介绍了spring学习之util:properties的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • Java中BEAN与EJB的区别浅析

    Java中BEAN与EJB的区别浅析

    这篇文章主要介绍了Java中BEAN与EJB的区别浅析,本文总结了它们之间的不同之处,需要的朋友可以参考下
    2015-03-03
  • java面向对象设计原则之里氏替换原则示例详解

    java面向对象设计原则之里氏替换原则示例详解

    这篇文章主要为大家介绍了java面向对象设计原则之里氏替换原则示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2021-10-10
  • 从Android源码剖析Intent查询匹配的实现

    从Android源码剖析Intent查询匹配的实现

    这篇文章主要介绍了从Android源码剖析Intent查询匹配的实现,Intent部分的源码为Java代码,需要的朋友可以参考下
    2015-07-07
  • Java线程的异常处理机制详情

    Java线程的异常处理机制详情

    这篇文章主要介绍了Java线程的异常处理机制详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-07-07
  • netty中pipeline异常事件分析

    netty中pipeline异常事件分析

    这篇文章主要为大家介绍了netty中pipeline异常事件分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • Spring中配置和读取多个Properties文件的方式方法

    Spring中配置和读取多个Properties文件的方式方法

    本篇文章主要介绍了Spring中配置和读取多个Properties文件的方式方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
    2017-04-04

最新评论