Thread Standard für Tastaturmapping (4 answers)
Opened by Kuerbis at 2013-07-11 17:38

payx
 2013-07-12 10:42
#168834 #168834
User since
2006-05-04
564 Artikel
BenutzerIn

user image
Hallo Kuerbis,

unter Windows ist entscheidend, welches Encoding in der Konsole eingestellt ist. Dein Programm liefert den Codepoint des durch den Tastendruck (je nach Tastaturlayout) erzeugten Zeichen in der aktuellen Codepage zurück.

Das Encoding stellst Du z.B. mit chcp 1252 auf Windows-ANSI um. Standard ist in der Windows-Konsole 850. Damit bei anderen Encodings Zeichen in der Windows-Konsole korrekt ausgegeben werden, musst Du die Schriftart z.B. auf Lucida Console umstellen.

Beispiel:

Ein ä ist bei Einstellung cp850 0x84, bei Einstellung cp1252 0xe4.

Das funktioniert z.B. auch mit einem kyrillischen Tastaturlayout und cp1251.

Mit cp65001 (UTF-8) funktioniert es leider nicht: Zeichen jenseits von ASCII ergeben 0x00.

Unter Linux habe ich es nicht ausprobiert. Da dort das Standardencoding der Shell UTF-8 ist, hätte ich Hoffnung, dass es geht.

HTH
Grüße
payx

PS: Hoppla, ich sehe erst jetzt, dass Du ja explizit nach Linux gefragt hattest. Da wird Dich meine Windows-bezogene Antwort vielleicht nicht interessieren, sorry.

Editiert von payx: PS
Last edited: 2013-07-12 11:51:32 +0200 (CEST)

View full thread Standard für Tastaturmapping