新开通发一篇android通讯中常用到的Helper

新开通博客,发一篇

android通讯中常用到的Helper

希望对大家有用处

之前在JT/T 794在android上实现时用到了不少类型转换的Helper,现将其公布出来,有需要的朋友拿去用吧。
 
1.常用类型和byte[]互转的ByteHelper;
2.BCD码压缩的BCDHelper;
3.CRC、XOR的CheckHelper 。
 
 
 
 ByteHelper
package com.van.base;
 
import java.io.UnsupportedEncodingException;
 
public class ByteHelper {
 
    /**
    * @Title: UInt16ToByte2
    * @Description: TODO(将UInt16转化为byte2)
    *
    * @param Val
    * @return
    * @return:byte[]
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
    * ---------------------------------------------------------*
    * 2011-11-17  wanjj v1.0.0   修改原因
    */
    
    public static byte[] UInt16ToByte2(Integer Val) {
        byte[] bts = new byte[2];
        bts[0] = (byte) ((0xff00 & Val) >> 8);
        bts[1] = (byte) (0xff & Val);
        return bts;
    }
 
    /**
    * @Title: UInt16ToByte2
    * @Description: TODO(将UInt16转化为byte2)
    *
    * @param i
    * @param bts
    * @param offset
    * @return:void
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
    * ---------------------------------------------------------*
    * 2011-11-17  wanjj v1.0.0   修改原因
    */
    
    public static void UInt16ToByte2(Integer i, byte[] bts, int offset) {
        byte[] btsTemp = UInt16ToByte2(i);
        int index = 0;
        while (index < 2) {
            bts[index + offset] = btsTemp[index];
            index += 1;
        }
    }
 
    /**
    * @Title: Int16ToByte2
    * @Description: TODO(将Int16转化为byte2)
    *
    * @param Val
    * @return
    * @return:byte[]
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
    * ---------------------------------------------------------*
    * 2011-11-17  wanjj v1.0.0   修改原因
    */
    
    public static byte[] Int16ToByte2(Short Val) {
        byte[] bts = new byte[2];
        bts[0] = (byte) ((Val >> 8) & 0xff);
        bts[1] = (byte) (Val & 0xff);
        return bts;
    }
 
    /**
    * @Title: Int16ToByte2
    * @Description: TODO(将Int16转化为byte2)
    *
    * @param i
    * @param bts
    * @param offset
    * @return:void
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
    * ---------------------------------------------------------*
    * 2011-11-17  wanjj v1.0.0   修改原因
    */
    
    public static void Int16ToByte2(Short i, byte[] bts, int offset) {
        byte[] btsTemp = Int16ToByte2(i);
        int index = 0;
        while (index < 2) {
            bts[index + offset] = btsTemp[index];
            index += 1;
        }
    }
 
    /**
    * @Title: UIntToByte4
    * @Description: TODO(将Uint32转化为byte4)
    *
    * @param Val
    * @return
    * @return:byte[]
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
    * ---------------------------------------------------------*
    * 2011-11-17  wanjj v1.0.0   修改原因
    */
    
    public static byte[] UIntToByte4(Long Val) {
        byte[] bts = new byte[4];
        bts[0] = (byte) ((0xff000000L & Val) >> 24);
        bts[1] = (byte) ((0xff0000 & Val) >> 16);
        bts[2] = (byte) ((0xff00 & Val) >> 8);
        bts[3] = (byte) (0xff & Val);
        return bts;
    }
 
    /**
    * @Title: UIntToByte4
    * @Description: TODO(将Uint32转化为byte4)
    *
    * @param i
    * @param bts
    * @param offset
    * @return:void
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
    * ---------------------------------------------------------*
    * 2011-11-17  wanjj v1.0.0   修改原因
    */
    
    public static void UIntToByte4(Long i, byte[] bts, int offset) {
        byte[] btsTemp = UIntToByte4(i);
        int index = 0;
        while (index < 4) {
            bts[index + offset] = btsTemp[index];
            index += 1;
        }
    }
 
    /**
    * @Title: IntToByte4
    * @Description: TODO(将int32转化为byte4)
    *
    * @param Val
    * @return
    * @return:byte[]
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
    * ---------------------------------------------------------*
    * 2011-11-17  wanjj v1.0.0   修改原因
    */
    
    public static byte[] IntToByte4(Integer Val) {
        byte[] bts = new byte[4];
        bts[0] = (byte) ((0xff000000 & Val) >> 24);
        bts[1] = (byte) ((0xff0000 & Val) >> 16);
        bts[2] = (byte) ((0xff00 & Val) >> 8);
        bts[3] = (byte) (0xff & Val);
        return bts;
    } 
    /**
    * @Title: IntToByte4
    * @Description: TODO(将int32转化为byte4)
    *
    * @param i
    * @param bts
    * @param offset
    * @return:void
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
    * ---------------------------------------------------------*
    * 2011-11-17  wanjj v1.0.0   修改原因
    */
    
    public static void IntToByte4(Integer i, byte[] bts, int offset) {
        byte[] btsTemp = IntToByte4(i);
        int index = 0;
        while (index < 4) {
            bts[index + offset] = btsTemp[index];
            index += 1;
        }
    }
 
    /**
    * @Title: FloatToByte4
    * @Description: TODO(Float转byte4)
    *
    * @param val
    * @return
    * @return:byte[]
    *
    * @version: v1.0.0
    * @author: WANJJ
    * @date: 2011-11-17
    * 
    * Modification History: 
    * Date  Author  Version  Description
希望此次分享能够给大家带来帮助
posted @ 2012-06-18 16:26  深圳itjob  阅读(260)  评论(0)    收藏  举报