前段时间做蓝牙手环~~对许多协议的解析,对各种数据之间的转换,在这里总结下.PS.我不是大神,我是个菜鸡.
1,int→String
String xx=Integer.toHexString(int);
2,String→int
int xx = Integer.parseInt(String xx,int radix);//radix进制转化为十进制.
3,将a1与a2连在一起
private byte[] merge(byte[] a1, byte[] a2) {
byte[] nCon = new byte[a1.length + a2.length];
System.arraycopy(a1, 0, nCon, 0, a1.length);
System.arraycopy(a2, 0, nCon, a1.length, a2.length);
return nCon;
}
4,long值→16进制byte[]值
public static byte[] getBytes(long data) {
byte[] bytes = new byte[4];
bytes[0] = (byte) (data & 0xff);
bytes[1] = (byte) ((data >> 8) & 0xff);
bytes[2] = (byte) ((data >> 16) & 0xff);
bytes[3] = (byte) ((data >> 24) & 0xff);
return bytes;
}
5,byte数组转ArrayList
private ArrayList<Byte> getAList(byte[] b){
ArrayList<Byte> bytes=new ArrayList<Byte>();
for(int i=0;i<b.length;i++){
bytes.add(b[i]);
}
return bytes;
}
6,ArrayList转byte数组
private byte[] getByte(ArrayList<Byte> bytes){
byte[] by=new byte[bytes.size()];
for (int i=0;i<bytes.size();i++){
by[i]=bytes.get(i);
}
return by;
}