Java 使用pi4j从串行显示十六进制

Java 使用pi4j从串行显示十六进制,java,serial-port,hex,raspberry-pi,Java,Serial Port,Hex,Raspberry Pi,我使用树莓pi与RFID阅读器通信,我使用PI4J库接收字符串数据,但阅读器输出十六进制。到目前为止,我已使用以下方法将字符串数据转换为十六进制格式: import org.apache.commons.codec.binary.Hex; 为了将十六进制分成两组,我使用了: java.util.Arrays.toString 因此,整个代码: // create and register the serial data listener serial.addListe

我使用树莓pi与RFID阅读器通信,我使用PI4J库接收字符串数据,但阅读器输出十六进制。到目前为止,我已使用以下方法将字符串数据转换为十六进制格式:

import org.apache.commons.codec.binary.Hex;
为了将十六进制分成两组,我使用了:

java.util.Arrays.toString
因此,整个代码:

        // create and register the serial data listener
    serial.addListener(new SerialDataListener() {
        @Override
        public void dataReceived(SerialDataEvent event) {


            String str = event.getData(); //create string of data received
            //change string to hex representation && split into groups of two
            System.out.println(java.util.Arrays.toString(Hex.encodeHexString(str.getBytes()).split("(?<=\\G..)")));
        }            
    });
//创建并注册串行数据侦听器
serial.addListener(新的SerialDataListener(){
@凌驾
已接收公共无效数据(SerialDataEvent事件){
String str=event.getData();//创建接收到的数据字符串
//将字符串更改为十六进制表示形式&&分成两组
System.out.println(java.util.Arrays.toString(Hex.encodeHexString(str.getBytes()).split((?)?