Hallo,
Und gleich noch der nächste Schock:
Es gibt gar keine Buchstaben, nur Zahlen!
Eine CPU weiss rein gar nichts über Buchstaben!
Wir haben verschiedene Codes Entwickelt und die Buchstaben durchnummeriert.
Für dein Problem musst du dir des ASCII-Code und den Unicode ansehen.
Die Zuordnung für die Zahlen 0...127 ist dabei noch identisch, aber darüber wird es dann sehr unterschiedlich.
Da ASCII von den Amis stammt, hatten diese keinen Bedarf für Sonderzeichen.
Die Europäer haben dann einige, im Schriftverkehr wenig benutze, Zeichen mit den Umlauten belegt. Das waren z.B. "[" und "]". Listings sahen dann etwas komisch aus, vor allem auf dem Drucker.
Man hat dann die 7-Bit auf 8-Bit erweitert, da gibt es aber für die zweiten 128 Zeichen unterschiedliche Varianten, bekannt als Codepages.
Normalerweise arbeiten Tastatur und Monitor eines PCs mit dem selben Zeichensatz, da scheint dann auf dem Monitor alles normal.
Wenn dann der Drucker mit einem anderen Zeichensatz arbeitet, was früher oft der Fall war, kommt auf Papier was anderes raus.
PC arbeiten heute meistens mit Unicode, da werden Sonderzeichen intern mit 2 Bytes dargestellt und dein Editor legt dies auch so in der Datei ab.
Dein Compiler erwartet nun aber einen 8-Bit ASCII-Code und da passen die zwei Bytes nicht rein.
Du musst also entweder deinen Editor so einstellen, dass er nur ASCII-Code erzeugt oder deinen Compiler so einstellen, dass er Zeichen aus mehreren Bytes verarbeiten kann. Letzteres hat dann aber Einfluss auf die Bibliotheken und wenn du Textnachrichten wieder nach aussen sendest (Display, Schnittstelle).
MfG Peter(TOO)
Lesezeichen