Über InputStream bekommenen String in Hexcode anzeigen

RavenKN

Mitglied
Hallo Community ich habe folgendes Problem:

Ich schreibe zur Zeit ein Programm, welches Daten über die COM Schnittstelle aus einem Gegengerät ausließt. Das Gegengerät sendet periodisch die Hexzahl 05 um zu zeigen, dass Bereitschaft besteht. Ich bekomme die Daten gesendet und kann sie auch ausgeben, allerdings wandelt es die Hex in das dazu gehörige Stringzeichen um, daher meine Frage:

Wie kann ich einen String in eine Hexzahl wandeln und dementsprechend speichern/ausgeben?

Code (falls er bei sowas weiterhilft):

Code:
...
static InputStream inputStream;
static SerialPort serialPort;

...
inputStream = serialPort.getInputStream();

...
public void serialEvent(SerialPortEvent event) {
	switch (event.getEventType()) {
		case SerialPortEvent.BI:
			System.out.println("SP_BI");
		case SerialPortEvent.OE:
			System.out.println("SP_OE");
		case SerialPortEvent.FE:
			System.out.println("SP_FE");
		case SerialPortEvent.PE:
			System.out.println("SP_PE");
		case SerialPortEvent.CD:
			System.out.println("SP_CD");
		case SerialPortEvent.CTS:
			System.out.println("SP_CTS");
		case SerialPortEvent.DSR:
			System.out.println("SP_DSR");
		case SerialPortEvent.RI:
			System.out.println("SP_RI");
		case SerialPortEvent.OUTPUT_BUFFER_EMPTY:
			System.out.println("SP_BUFFER_EMPTY");
			break;
		case SerialPortEvent.DATA_AVAILABLE:
			System.out.println("SP_DATA_AVAILABLE");
			byte[] readBuffer = new byte[20];
			//System.out.println(serialPort.toString());

			try {
				while (inputStream.available() > 0) {
					int numBytes = inputStream.read(readBuffer);
				}
				char[] tmp = (new String(readBuffer)).toCharArray();
				System.out.println(tmp.toString());
			} catch (IOException e) {
			}
			break;
	}
}

...
 
Zurück