Serielle Schnittstelle "äöü" in VB.net übertragen

Gast #417441
Lesenswert?

Hallo zusammen

Ich habe einen yC der Status Informationen über die Serielle
Schnittstelle sendet, die von einem in VB.Net geschriebenden Programm
empfangen werden.
Leider kann mein VB.Net Programm nur den einfachen ASCII Satz, somit
werden ä,ö,ü verschluckt. Ein Terminal Programm kann aber die
Informationen richtig anzeigen.

Gibt es einen Möglichkeit mit VB.Net den erweiterten ASCII Satz zu
empfangen?

Gruß
Tom
Persönliche Seite #417442
Lesenswert?

Windows-Anwendungen arbeiten mit einem Zeichensatz namens ANSI bzw.
Latin-1 oder auch Codepage 1252.
Der von Dir gewünschte Zeichensatz ist der IBM-PC-Zeichensatz, Codepage
437 bzw. 850.

Mit den Betriebssystemfunktionen OemToChar bzw. CharToOem lässt sich
zwischen diesen Zeichencodierungen hin- und herwandeln.

Du könntest aber auch anhand folgender Tabelle eine einfache
Ersetzungsfunktion selber schreiben:

            Code in
Zeichen  CP437  CP1251
  Ä      0x8E   0xC4
  Ö      0x99   0xD6
  Ü      0x9A   0xDC
  ä      0x84   0xE4
  ö      0x94   0xF6
  ü      0x81   0xFC
  ß      0xE1   0xDF

Du solltest allerdings auch darauf achten, daß Du für Deine serielle
Kommunikation 8-Bit-Datenwörter verwendest ... eine 7-Bit-Übertragung
verhindert die Übertragung solcher Sonderzeichen sehr erfolgreich.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren