新开通发一篇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
希望此次分享能够给大家带来帮助
软件培训视频下载地址www.rjpx.net/
海量程序开发视频供你下载,打造程序员的一个网络家园
浙公网安备 33010602011771号