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

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值