Umlaute und Stringkonstanten Kategorie: Programmierung (von Werner - 13.07.2008 14:54) | ||
| ||
Hallo, habe da was gefunden und auch eine Lösung, aber keine Erklärung. Vielleicht kann mir irgend wer sagen, warum das so ist. Hatte ein paar Texte für eine Menüeingabe als Konstanten-Array definiert. Anschlie�end ausgegeben. Die Umlaute werden dabei als Escape-Sequenzen codiert. ä = xe1 ö = xef ü = xf5 � = xe2 Jedoch ist statt einem ü das Yen-Zeichen heraus gekommen (durchgestrichenes Y) Also habe ein wenig getestet und musste feststellen, dass die Escape-Sequenzen richtig waren. Jedoch muss ich den String zusammensetzen. Hier ein paar Zeilen als Quellcode: const MENU1[] = "0: Zurxf5ck ", "1: Datum stellen"; const MENU2[] = "xe0xe1xe2xe3xe4xe5xe6xe7xe8xe9xeaxebxecxedxeexef", "xf0xf1xf2xf3xf4xf5xf6xf7xf8xf9xfaxfbxfcxfdxfexff"; const MENU3[] = "0: Zur" "xf5" "ck ", "1: Datum stellen"; // Diese Variante zeigt das Yen-Zeichen statt dem ü lcdext.line(1); lcdext.print(MENU1[0]) lcdext.line(2); lcdext.print(MENU1[1]) sleep 5000; // Diese Variante zeigt viele Sonderzeichen. u.a. das ä, ö, ü und das � lcdext.line(1); lcdext.print(MENU2[0]) lcdext.line(2); lcdext.print(MENU2[1]) sleep 5000; // Diese Variante zeigt tatsächlich ein Zurück lcdext.line(1); lcdext.print(MENU3[0]) lcdext.line(2); lcdext.print(MENU3[1]) sleep 5000; Kann mir einer sagen, warum der Compiler in der Variante MENU1 das ü falsch interpretiert und in den Varianten MENU2 und MENU3 richtig? Ich ging bis dato davon aus, dass ein Escape-Wert mit x eingeleitet stets ein zweistelligen Hex-Wert erwartet. (Kenn ich so von anderen Sprachen) Any Idea? PS: Tritt auf dem Display der C-Control II Station auf. | ||
Antwort schreiben Antworten: Re: Umlaute und Stringkonstanten (von Icebear - 17.07.2008 16:16) Re: Umlaute und Stringkonstanten (von André H. - 16.07.2008 14:07) |