hex字符串、byte[]数组互相转换 1//byte[]转hex字符串
2public static String bytes2HexString(byte[] array) {
3        StringBuilder builder = new StringBuilder();
4
5for (byte b : array) {
6            String hex = HexString(b & 0xFF);
7if (hex.length() == 1) {
8                hex = '0' + hex;
9            }
10            builder.append(hex);
11        }
数组转换成字符串12
String().toUpperCase();
14    }
15
16//hex字符串转byte[]数组
17public static byte[] hexToByteArray(byte mode, String hex)
18    {
19        hex = placeAll("\\s*", ""); //去除空格等字符
20int len = hex.length(); //字符串长度
21        hex = len % 2 == 0 ? hex : hex + "N"; //保持长度为偶数//或减⼀位
22//重新计算长度
23        len = hex.length();
24int bts_len = (len / 2 + 3); //总字节数,增加3字节
25byte[] data = new byte[bts_len];
26        data[0] = DATA_FLAG;
27        data[1] = mode; //模式标志
28for (int i = 0; i < len; i += 2)
29        {
30            data[i / 2 + 2] = (byte) ((Character.digit(hex.charAt(i), 16) << 4)
31                    + Character.digit(hex.charAt(i + 1), 16));
32        }
33        data[bts_len - 1] = DATA_FLAG;
34
35//输出查看
36        Log.d(TAG, bytes2HexString(data));
37
38return data;
39    }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。