extended ascii chars - need help!

originalflo

Grünschnabel
Hi Folks,

muss mit einem Endgerät über RS232 quatschen, soweit kein Thema.

um mit dem Endgerät quatschen zu können muss ich es über eine Hex-Seriennummer, z.B. 06 41 97, ansprechen.

ich bau mir die Kommandos folgendermassen auf: 0x24 == vorspann; 0x01 == command 1; 3x (0x01) == werte; 0x06, 0x41, 0x97 == seriennummer; 0x25 == nachspann

in form von code:
char[] answer = {(char)0x24, (char)0x01, (char)0x01, (char)0x01, (char)0x01, (char)0x06, (char)0x41, (char)0x97, (char)0x25};

Mein problem ist, dass ich mich gerade mit diesem Endgerät (vorher ists mir noch nie aufgefallen) im extended Ascii Bereich (> 127d bzw. > 0x7F) bewege.

d.h. bei meinem 0x97 wert bekomme ich sowohl mit (char) 0x97 als auch mit (char) 151 immer als wert die 3F, das ist bullshit. ich bräuchte tatsächlich 0x97;

irgendjemand ne idee/lösung zu diesem Thema?

danke, gruss!
flo
 

originalflo

Grünschnabel
antwort wie folgt bauen rockt:

final byte[] answer = {(byte)0x24, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x01, (byte)6, (byte)65, (byte)151, (byte)0x25};

bzw

final byte[] answer = {(byte)0x24, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x01, (byte)0x06, (byte)0x41, (byte)0x97, (byte)0x25};

over and out