flutter 蓝牙开发 字节数组的使用

4个数 组成一个8位字节

  static int byte2222(int funcMode,int pumpMode,int brushMode,int cmdReSv){
   
   
    int byte;

    byte = funcMode | (pumpMode << 2) | (brushMode << 4) | (cmdReSv << 6);
    return byte;
  }
  
0 | (1 << 2) | (1 << 4) | (1 << 6) => 42

取二进制第几位数来计算 (一个字节藏了多个参数)

  static int byteUtils(int byteNum,int low,int high){
   
   
    //右移几位
    int shiftedNumber = byteNum >> low;  
    
    //8为二进制,不足补0
    String binaryString = shiftedNumber.toRadixString(2).padLeft(8, '0');
      
    // 截取一段二进制,位数为 high - low
    String lowBits = binaryString.substring(8-(high - low), 8);

    // 截取一段二进制转成10进制
    int lowInt = int.parse(lowBits, radix: 2);

    return lowInt;
  }


byteUtils(42, 2, 4) => 2
00101010 

字节数组转16进制数组 (蓝牙数据转16进制)

  static  List<String> byte16(List<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值