liurunyu
2025-01-21 5b89937212db0c507145187313eb5b326220f47b
pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/util/CRC16.java
@@ -94,7 +94,6 @@
    * @param endIndex 截止下标
    * @return CRC
    */
   @SuppressWarnings("unused")
   public int CRC16_table(byte[] bs, int startIndex, int endIndex) {
      int x ;
      int crc = 0xffff;
@@ -106,18 +105,20 @@
      }
      return crc ;
   }
   /**
    * 16位的CRC值 ,查表法
    * 16位的CRC值是无符号两字节整数,
    * @param len 数组长度
    * @param bs 字节数组
    * @param crc 原始crc值
    * @return CRC
    */
   public short CRC16_table(byte[] bs) {
      short x ;
      short crc = (short)0xffff;
      if(bs != null && bs.length > 0){
         for(byte b : bs){
            x = (short)(crc ^ b) ;
            crc = (short)((crc >> 8) ^ crc16_rev_table[x & 0x00FF]) ;
   public int CRC16_table(int len, byte[] bs, int crc) {
      int x ;
      if(bs != null){
         for (int i = 0 ; i < len; i++){
            x =  (crc ^ bs[i]) ;
            crc =  ((crc >> 8) ^ crc16_rev_table[x & 0x00FF]) ;
         }
      }
      return crc ;