Wie man Unicode mit STL-Strings und Streams liest / speichert
Ich muss mein Programm so ändern, dass es Unicode akzeptiert, das von UTF-8 und den verschiedenen UTF-16- und UTF-32-Codierungen stammen kann. Ich weiß nicht viel über Unicode (obwohl ich Joel Spolskys @ gelesen haArtike und dieWikipedia Seite).
Jetzt benutze ich einstd::istream
und meine Eingabe lesenchar
durchchar
und dann speichern (falls erforderlich) in einemstd::string
. Ich möchte gern
Auch wenn möglich, möchte ich so viel Platz wie möglich sparen (wenn wir also nicht mehr als ein Byte / Zeichen benötigen, verwenden wir es nicht). Soweit ich weiß, bedeutet dies das Speichern in UTF-8, was in Ordnung ist, aber ich kenne keinen Standard-String, der dies tut (nach dem, was ich verstehe,wchar_t
hat implementierungsdefinierte Größe und Kodierung.