zacker330
12/5/2017 - 1:50 AM

数据转换

public static byte[] hexStringToByteArray(String s) {
    int len = s.length();
    byte[] data = new byte[len / 2];
    for (int i = 0; i < len; i += 2) {
        data[i / 2] = (byte) ((Character.digit(s.charAt(i), 16) << 4)
                             + Character.digit(s.charAt(i+1), 16));
    }
    return data;
}
String code = "5a,5a,01,11,64,00,40,00,d4,17,00,00,00,00,00,00,00,00,00,00,a9,cc,9b,00,00,10,00,00,00,00,00,00,00,00,00,00,01,00,00,00,aa,2b,ac,00,00,00,00,00,02,04,a5,00,00,00,00,e9,05,ab,00,01,00,00,00,00,00,00,00,1b,1b,00,00,00,00,67,4b,00,b3,a8,94,3d,00,5a,60,16,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00";
String collect = Arrays.stream(code.split(",")).map(s -> {
    if (s.contains("a") || s.contains("b") || s.contains("c") || s.contains("d") || s.contains("d") || s.contains("e") || s.contains("f")) {
        return "(byte)0x" + s;
    } else {
        return s;
    }
}).collect(Collectors.joining(","));

System.out.println(collect);