¿Cómo uso los caracteres Unicode de 3 y 4 bytes con cadenas estándar de C ++?

En el estándar C ++ tenemoschar ywchar_t para almacenar personajes.char puede almacenar valores entre0x00 y0xFF. Ywchar_t puede almacenar valores entre0x0000 y0xFFFF. std::string usoschar, por lo que puede almacenar caracteres de 1 byte solamente.std::wstring usoswchar_t, por lo que puede almacenar caracteres de hasta 2 bytes de ancho. Esto es lo que sé acerca de las cadenas en C ++. Por favor, corrígeme si dije algo mal hasta este punto.

Yo leoEl artículo para UTF-8. en Wikipedia, y aprendí que algunos caracteres Unicode consumen espacio de hasta 4 bytes. Por ejemplo, el carácter chino. tiene un punto de código Unicode0x24B62, que consume 3 bytes de espacio en la memoria.

¿Hay un contenedor de cadenas STL para tratar con este tipo de caracteres? Estoy buscando algo comostd::string32. Además, tuvimosmain() para el punto de entrada ASCII,wmain() para el punto de entrada con soporte de caracteres de 16 bits; ¿Qué punto de entrada utilizamos para el código compatible con Unicode de 3 y 4 bytes?

¿Puedes por favor agregar un pequeño ejemplo?

(Mi sistema operativo: Windows 7 x64)

Respuestas a la pregunta(5)

Su respuesta a la pregunta