| package org.yzh.protocol.commons; | 
|   | 
| import io.netty.buffer.ByteBuf; | 
|   | 
| public class JTUtils { | 
|   | 
|     /** | 
|      * BCC校验(异或校验) | 
|      */ | 
|     public static byte bcc(ByteBuf byteBuf, int tailOffset) { | 
|         byte cs = 0; | 
|         int readerIndex = byteBuf.readerIndex(); | 
|         int writerIndex = byteBuf.writerIndex() + tailOffset; | 
|         while (readerIndex < writerIndex) | 
|             cs ^= byteBuf.getByte(readerIndex++); | 
|         return cs; | 
|     } | 
|   | 
|     public static int headerLength(int version, boolean isSubpackage) { | 
|         if (version > 0) | 
|             return isSubpackage ? 21 : 17; | 
|         else | 
|             return isSubpackage ? 16 : 12; | 
|     } | 
| } |