UNICODE geht nicht...?
-
hi leute
ich wollte vor kurzem ein wenig mit dem unicode charset experimentieren, so wollte ich mir z.b. einzelne zeichen aus geben lassen:#include <iostream> #include <wchar.h> #define _UNICODE #define UNICODE int main() { std::wcout << (wchar_t)100; // für 100 hab ich dann verschiedene werte probiert... return 0; }
ich weiß erstma nich, welche #defines und #includes hier wirklich nötig sind... ich hab sie zur sicherheit einfach mal alle mitgenommen^^.
so, setze ich für 100 nun aber eine zahl über 255 ein, so gibt das programm kein zeichen mehr aus, woran liegt das? ich meine, der unicode zeichensatz unzterstützt doch bis zu 2^16 zeichen, und in diesen bereich fällt doch 256 bestimmt, oder ;-)? also, woran liegt das?
EDIT: bei windows funktionen (zb MessageBox()) funktioniert alles richtig.......
EDIT2: ach ja, noch eine frage, wenn ich folgenden "befehl" aufrufe:std::wcout << L'ä';
wird kein ä ausgegeben, sondern ein o mit einer tilde darüer, warum?
-
1. Die Konsole kann die Zeichen nicht darstellen
2. Die Konsole konvertiert die Zeichen falsch, siehe auch FAQ "Deutsche Umlaute"MfG SideWinder
-
ah, gut danke^^