Como faço para usar caracteres Unicode de 3 e 4 bytes com seqüências de caracteres C ++ padrão?

No padrão C ++ nós temoschar ewchar_t para armazenar caracteres.char pode armazenar valores entre0x00 e0xFF. Ewchar_t pode armazenar valores entre0x0000 e0xFFFF. std::string usachar, portanto, ele pode armazenar apenas caracteres de 1 byte.std::wstring usawchar_t, para que ele possa armazenar caracteres de até 2 bytes de largura. Isto é o que eu sei sobre strings em C ++. Por favor, corrija-me se eu disse algo errado até este ponto.

Eu leioo artigo para UTF-8 na Wikipedia, e aprendi que alguns caracteres Unicode consomem até 4 bytes de espaço. Por exemplo, o caractere chinês tem um ponto de código Unicode0x24B62, que consome espaço de 3 bytes na memória.

Existe um contêiner de string STL para lidar com esses tipos de caracteres? Eu estou procurando por algo parecidostd::string32. Além disso, nós tivemosmain() para ponto de entrada ASCII,wmain() para ponto de entrada com suporte a caracteres de 16 bits; Que ponto de entrada usamos para código suportado em Unicode de 3 e 4 bytes?

Você pode por favor adicionar um pequeno exemplo?

(Meu sistema operacional: Windows 7 x64)

questionAnswers(5)

yourAnswerToTheQuestion