Code-Konvertierung bei Socket-Anbindung

Status
Nicht offen für weitere Antworten.

ralph.otten

Neues Mitglied
Hallo,
ich habe eine Socket-Verbindung zu einem MVS-Host (OS/390) aufgebaut. MVS spricht auf dieser Schnittstelle nur EBCDIC, was über die cp037 im Stream umgesetzt wird. Leider muss ich auch Zeichen senden, die HighValue enthalten. Auf der Host-Seite kommt statt 0xFF nur 0xDF an.

Hat jemand schon ein änliches Problem gehabt?

Code-Schnipsel:

Der Writer:


BufferedWriter out = new BufferedWriter(
new OutputStreamWriter(sock.getOutputStream(), "cp037"), 1000);

Ausgabe auf den Writer:

out.write(Abfragedaten);
out.newLine();
out.flush();


und da werden die Ausgabedaten zusammengebastelt:

char HighValueChar = (char) 255;
String Nachrichtenkopf = String.valueOf(HighValueChar) + String.valueOf(HighValueChar);

Irgendjemand eine Idee wie ich ein 0xFF auf die Leitung bekomme und gleichzeitig korrekt EBCDIC übertrage?
 
wir hatten auf der arbeit einen aehnliches problem mit einem siemens-host (frag mich nicht weiter was fuer ein geraet 😉) und zumindest weiss ich, das wir aehnliche probleme hatten da das betriebsystem einen eingeschraenkten zeichnsatz hatte. dann haben unsere jungs da irgendwas rumgeprokelt das der java unicode zeichensatz dann entsprechend dem host-zeichensatz on-the-fly angepasst wurde.

vieleicht hilft das ein wenig auf die spruenge auch wenn es keine konkrete loesung ist 😉
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben