paulo1205
(usa Ubuntu)
Enviado em 25/03/2013 - 18:21h
Se o tipo da variável é
char, você só vai conseguir guardar os primeiros 128 caracteres (de 0 a 127) do UTF-8, pois as posições seguintes (128 em diante) precisam de dois ou mais caracteres.
Para auxiliar com conjuntos de caracteres estendidos e representações com múltiplos bytes,as bibliotecas do C definem o tipo
wchar_t (
wide character) e sequências de caracteres com múltiplos bytes, bem como funções para converter de uma representação para a outra (por exemplo:
wctomb() converte um
widechar para uma sequência
multibyte correspondente a um único símbolo, e
mbstowcs() converte uma string de
multibytes justapostos para uma string de
widechars). Essas conversões podem ser afetadas pelas configurações de
locales.
Seria melhor se você fosse mais específico com relação à sua dúvida. Como C e C++ são linguagens relativamente de baixo nível, essa parte de locales e múltiplas representações é razoavelmente complexa.