溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java整數與byte數組的轉換實現代碼

發布時間:2020-10-25 17:15:41 來源:腳本之家 閱讀:190 作者:aotian16 欄目:編程語言

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

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女