前段时间做蓝牙手环~~对许多协议的解析,对各种数据之间的转换,在这里总结下.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; }