byte[] 相關的一些處理方法

原始下位機回傳的原始數據  byte最後轉一下  或者直接參照twoCharCompareZero 進行判斷

 byte 轉 8位 byte[]

public static byte[] getBooleanArray(byte b) {
    byte[] array = new byte[8];
    for (int i = 7; i >= 0; i--) {
        array[i] = (byte)(b & 1);
        b = (byte) (b >> 1);
    }
    return array;
}

 

java  byte轉  8byte String

public static String byteToBit(byte b) {
    return ""
            + (byte) ((b >> 7) & 0x1) + (byte) ((b >> 6) & 0x1)
            + (byte) ((b >> 5) & 0x1) + (byte) ((b >> 4) & 0x1)
            + (byte) ((b >> 3) & 0x1) + (byte) ((b >> 2) & 0x1)
            + (byte) ((b >> 1) & 0x1) + (byte) ((b >> 0) & 0x1);
}

java判斷八位byte 某兩位是否是同一個值

/**
 * 原始byte 判斷某兩位是否爲  0
 * @param a   原始byte數據
 * @param local1  第local1位
 * @param local2  第local2位
 * @return
 */
private boolean twoCharCompareZero(byte a,int local1,int local2) {//原始  byte 未轉換成 byte[]
    if(((((a >> local1) & 0x1)==0) && (((a >> local2) & 0x1)== 0) ))
            return false;
     else
         return true;
}

 

判斷某個 byte  是否爲 0 

/**
 * 單個byte位對比
 * 兩個位的   只要判斷一個位即可
 *
 * @param b
 * @return
 */
private boolean charCompare(byte b) {
    mByteStr = "" + b;
    isZero = mByteStr.equals("0");
    Log.w("OtherUtils", "  b = " + b + "  isZero = " + isZero);
    return isZero;
}

 

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章