Aktuelles C ++ spezifiziert keine Kodierung in irgendeiner Weise. Sie können in eine tatsächliche Unicode-Bibliothek wie ICU schauen, oder auf einigen Architekturen und Implementierungen können Sie wchar_t benutzen, um Unicode-Strings zu manipulieren und zu halten.
Bearbeiten: Diese Antwort bezog sich auf C ++ 03. Wie bereits erwähnt, gilt es nicht mehr.
Es hängt vielmehr davon ab, was Sie mit dem zu bearbeitenden Text machen wollen. Der halbe Punkt von UTF-8 ist, dass Sie den vorhandenen Code nicht ändern müssen, wenn er 8-Bit-Zeichen verarbeitet, und nicht speziell für Zeichen über 128. Natürlich ist strlen die Länge in Bytes und nicht das Zeichen oder Code- Punktanzahl So kann es sein, dass Sie ein Text-in-Text-Programm haben, das UTF-8 direkt verwenden kann. Oder es kann sein, dass Sie eine GUI in Text erstellen und daher mit Ruby und RTL-Text umgehen müssen. In diesem Fall ist Ihr Job viel komplizierter und Sie müssen wahrscheinlich die entsprechenden Bibliotheken auswählen.
Hängt von der Version von C ++ ab, die Sie verwenden. C ++ 0x (noch nicht vollständig freigegeben, aber immer noch auf vielen Compilern unterstützt) fügt der Sprache native UTF-8-Unterstützung hinzu. Andernfalls unterstützt die Sprache UTF-8 nicht. C ++ 03 und früher unterstützen Unicode durch die Verwendung von Wide Characters (wchar_t).