Steuerzeichen via HyperTerminal

Gast #157016
Lesenswert?

Hallo zusammen,

ich arbeite gerade mit dem Terminalprogramm von Bray++ und versuche das
Steuerzeichen 'EOT' zu senden. Leider funktioniert das nicht so ganz.
Bei Google bin ich auch nicht fündig geworden.
Hab gesehen, dass 'EOT' als ^D gesendet werden kann, aber irgendwie
geht das auch nicht.
Falls jemand ne Idee hat, würd ich mich freuen.

Mfg

Malve
Gast #157017
Lesenswert?

^D ist eine Schreibweise für Ctrl+D (resp. Strg+D). Es bedeutet also
nicht, daß ein Caret (^) gefolgt vom Buchstaben D einzutippen ist.

Ctrl+(irgendwas) funktioniert auch mit Hyperterminal.
Gast #157019
Lesenswert?

Hallo,

hab ich bereits versucht, aber bisher noch keinen Erfolg gehabt.
'EOT' hat laut ASCII-Tabelle den Hex-Code 04. Schreib ich das ich ein
File und sende es per HyperTerminal, so werden die Hex-Codes für '0'
und '4' gesendet.

@KoF: Was schreibst Du in Deine Files, damit es klappt?

Mfg

Malve
Gast #157024
Lesenswert?

wie schreibst du es denn in die datei?? mit notepad?
hört sich auf jedenfall danach an. wenn dem so ist dann nimm mal nen
hex editor. weil mir ist nicht ganz klar wie man sonst ein
steuerzeichen "schreiben" sollte.
Gast #157025
Lesenswert?

Um eine Datei mit dem Inhalt hex! 04 zu erzeugen, darfst Du nicht
"0" und "4" in eine Datei schreiben.

Kommadozeile aufmachen und folgendes eintippen:

copy con datei

dann <enter>-Taste drücken

<Strg> drücken und gedrückt halten
'D' drücken und wieder loslassen
(auf dem Bildschirm wird ^D ausgegeben)
'Z' drücken und wieder loslassen
(auf dem Bildschirm wird ^Z ausgegeben)
<Strg> loslassen

Dann solltest Du eine Datei namens "datei" haben, die exakt 1 Byte
groß ist.

Nötig ist das ganze aber nicht, da wie bereits gesagt, Ctrl+Buchstabe
in Hyperterminal funktioniert.
Gast #157027
Lesenswert?

Übrigens,
0x04 entspricht Dezimal 4

Im Hyperterminal einfach [ALT] gedrückt halten und aufm NumBlock
hintereinander 0 und 4 drücken und anschließend loslassen. Die 0 Muss
immer vorran gestellt werden, weil Windows den erweiterten Zeichensatz
besitzt. In diesem ist das niedrigste Byte der komplette ASCII satz.
darüber kommen noch andere Steuerzeichen.
Gast #157028
Lesenswert?

Die Erklärung von Simon ist nicht ganz korrekt. Zwar verwendet Windows
(genauer: die ernstgemeinten* Varianten davon) intern eine
16-Bit-Zeichenbelegung namens Unicode, das hat aber mit der Eingabe von
Zeichencodes über den Zehnerblock nichts zu tun.

Die führende 0 schaltet zwischen zwei unterschiedlichen
8-Bit-Zeichenbelegungstabellen um, dem alten IBM-PC-Zeichensatz
(Codepage 437 resp. 850) und dem windowseigenen ANSI-Zeichensatz
(Codepage 1252, auch Latin1 genannt).

Diese beiden 8-Bit-Zeichensätze unterscheiden sich nur bei der Belegung
der Zeichencodes > 127, also bei Umlauten und ähnlichen Sonderzeichen,
Für die Eingabe von ASCII-Zeichen ist es also völlig irrelevant, ob
eine Null vorangestellt wird oder nicht; ASCII beschreibt die ersten
128 Zeichen sowohl des IBM-, als auch des ANSI-Zeichensatzes.

Bei der Eingabe mit Alt+Zehnerblock wird bei Eingabe ohne führende Null
der IBM-PC-Zeichensatz verwendet, bei Eingabe mit führender Null wird
der ANSI-Zeichensatz verwendet.

Beispiel:

Alt+220 ergibt ein Blockgraphikzeichen (Klotz unten)
Alt+0200 ergibt ein großes Ü
Alt+214 ergibt ein großes I mit Akzent (das ersetzt in Codepage 850
eines der Rahmengraphikzeichen)
Alt+0214 ergibt ein großes Ö
Alt+225 ergibt ein ß (sz)
Alt+0225 ergibt ein kleines a mit Akzent

EOT (0x04) kann wahlweise so eingegeben werden:
Alt+4
Alt+04
Ctrl+D

Nochmal zum Mitmeisseln:
Ctrl+D funktioniert in Hyperterminal.

Probleme bereitet allerdings die Eingabe der folgenden Steuercodes
  NUL  Ctrl+@ (0, 0x00)
  ESC  Ctrl+[ (27, 0x1b)
  FS   Ctrl+\ (28, 0x1c)
  GS   Ctrl+] (29, 0x1d)
  RS   Ctrl+^ (30, 0x1e)
  US   Ctrl+_ (31, 0x1f)
Gast #157030
Lesenswert?

Nachtrag:
Mir ist doch glatt die Fußnote unter den Teppich gerutscht.

*) Windows NT ab Version 3.1. Das schließt Windows 2000 (NT 5.0),
Windows XP (NT 5.1) und Windows 2003 (NT 5.2) ein, aber das
Gekröse-In-Software namens Windows 95 und all' seine Aufgüsse aus (98
& Me).
Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.