Discussion:
Steuerzeichen in Strings
(zu alt für eine Antwort)
Simone Mopils
2004-03-05 12:19:21 UTC
Permalink
Hallo,

ich muss für eine Modem-Steuerung, die über eine serielle Schnittstelle
geht, einen Befehl mit STRG-Z abschliessen. Wie kann man denn sowas bitte
in Java in einem String angeben? "^Z" hab ich schon erfolglos versucht.

Bin für jeden Hinweis dankbar
Gruß
Simone
Achim Peters
2004-03-05 12:31:46 UTC
Permalink
Post by Simone Mopils
ich muss für eine Modem-Steuerung, die über eine serielle Schnittstelle
geht, einen Befehl mit STRG-Z abschliessen. Wie kann man denn sowas
bitte in Java in einem String angeben? "^Z" hab ich schon erfolglos
versucht.
Du willst kein "STRG-Z" senden, sondern das, was ensteht, wenn Du (bei
geeignetem Editor) "STRG-Z" auf der Tastatur drückst. Das ist
üblicherweise das ASCII-Steuerzeichen mit dem Wert 26 dezimal (nennt
sich AFAIK "SUB").

Du musst also in Deinen String ein Zeichen mit dem Wert 26 einbauen. Wie
man das am elegantesten macht, ist mir gerade nicht präsent.

HTH

Bye
Achim
Jochen Theodorou
2004-03-05 12:33:59 UTC
Permalink
Post by Simone Mopils
Hallo,
ich muss für eine Modem-Steuerung, die über eine serielle Schnittstelle
geht, einen Befehl mit STRG-Z abschliessen. Wie kann man denn sowas
bitte in Java in einem String angeben? "^Z" hab ich schon erfolglos
versucht.
schonmal das hier versucht?

char c = 26; //ASCII-Code von STR+Z
String s = ""+c;

weiss nicht ob's hilft.

Gruss theo
Stefan Matthias Aust
2004-03-05 12:54:31 UTC
Permalink
[^Z]
Strg+Z = Ascii 26 = 1A in Hexadizimaldarstellung = "\u001a" in einem
String. Alternativ 032 in Oktaldarstellung und ="\032" in einem String.

Allerdings würde ich für diese Aufgabe keine Strings nehmen (wo du beim
Schreiben in einen Writer immer mit einem Encoder rechnen musst) sondern
nakte OutputStreams mit byte-Arrays.


bye
--
Stefan Matthias Aust // "A new beginning always starts at the end" -WT
Simone Mopils
2004-03-05 13:23:41 UTC
Permalink
Am Fri, 05 Mar 2004 13:54:31 +0100 schrieb Stefan Matthias Aust
<***@3plus4.de>:

Hi nochmal,
Post by Stefan Matthias Aust
[^Z]
Strg+Z = Ascii 26 = 1A in Hexadizimaldarstellung = "\u001a" in einem
String. Alternativ 032 in Oktaldarstellung und ="\032" in einem String.
Danke an alle. Das ist genau das, was ich gesucht habe.
Post by Stefan Matthias Aust
Allerdings würde ich für diese Aufgabe keine Strings nehmen (wo du beim
Schreiben in einen Writer immer mit einem Encoder rechnen musst) sondern
nakte OutputStreams mit byte-Arrays.
Das ist schon klar, aber mit bytes hab ich ja auch nicht gewusst, wie ich
das STRG-Z da rein bekomme *g*

Ciao
Simone

Loading...