Suporte para caracteres Multibyte define (MBCSs)
Conjuntos de caracteres multibyte (MBCSs) são uma alternativa para Unicode para oferecer suporte a conjuntos de caracteres, como japonês e chinês, que não podem ser representados em um único byte.Se você está programando para um mercado internacional, considere usando Unicode ou MBCS ou permitindo o seu programa para construí-lo para um alterando um switch.
A implementação mais comum de MBCS é conjuntos de caracteres de byte duplo (DBCSs).Visual C++ em geral e MFC em particular, é totalmente habilitada para DBCS.
Para obter exemplos, consulte arquivos de código-fonte do MFC.
Plataformas usadas nos mercados cujos idiomas usam conjuntos de caracteres grandes, a melhor alternativa para Unicode é MBCS.MFC oferece suporte MBCS usando tipos de dados internationalizable e funções de tempo de execução C.Você deve fazer o mesmo em seu código.
Em MBCS, caracteres são codificados em 1 ou 2 bytes.Em caracteres de 2 bytes, o primeiro ou o byte inicial, sinais de que ele e o byte seguinte são interpretados como um caractere.O primeiro byte é proveniente de um intervalo de códigos reservado para uso como bytes de cliente potencial.Os intervalos de bytes podem ser bytes de cliente potencial depende da página de código em uso.Por exemplo, página de código japonês 932 usa o intervalo 0x81 através de 0x9F como bytes de cliente potencial, mas a página de código coreano 949 usa um intervalo diferente.
Considere o seguinte no seu MBCS programação.
Caracteres MBCS no ambiente
Caracteres MBCS podem aparecer em seqüências de caracteres, como nomes de arquivo e diretório.Operações de edição
Operações em aplicativos MBCS de edição devem operar em caracteres, não em bytes.O cursor não deve dividir um caractere, a tecla de seta para a direita deve mover um caractere à direita e assim por diante.Excluir deve excluir um caractere; Desfazer deve inseri-lo novamente.Manipulação de seqüência de caracteres
Em um aplicativo que usa MBCS, manipulação de seqüência de caracteres apresenta problemas especiais.Ambas as larguras de caracteres são misturados em uma única string; Portanto, você deve se lembrar verificar se os bytes de cliente potencial.Suporte de biblioteca de tempo de execução
A biblioteca de tempo de execução c e MFC suporte um byte, MBCS e Unicode de programação.Seqüências de caracteres de byte único são processadas com o str família de funções de tempo de execução, strings MBCS são processados com correspondente _mbs funções e seqüências de caracteres Unicode são processados com correspondente wcs funções.Implementações de função de membro de classe MFC usam funções de tempo de execução portátil que mapeiam, sob determinadas circunstâncias, como o normal str da família de funções, as funções MBCS ou funções Unicode, conforme descrito em "Portabilidade MBCS/Unicode."Portabilidade MBCS/Unicode
Usando o arquivo de cabeçalho Tchar.h, você pode criar um byte, MBCS e Unicode aplicativos as mesmas fontes.TCHAR.h define macros prefixadas com _tcs , que mapeiam para str, _mbs, ou wcs funções, conforme apropriado.Para construir MBCS, definir o símbolo MBCS do arquivo.Para construir o Unicode, definir o símbolo Unicode.Por padrão, MBCS do arquivo está definido para aplicativos MFC.Para obter mais informações, consulte Mapeamentos de texto genérico em Tchar.h.
Observação |
---|
Comportamento é indefinido se você definir ambas Unicode e MBCS do arquivo. |
Os arquivos de cabeçalho Mbctype.h e Mbstring.h definem funções específicas de MBCS e macros, que pode ser necessário em alguns casos.Por exemplo, _ismbblead indica se um byte específico em uma seqüência de caracteres é um byte inicial.
Portabilidade internacional, seu programa com o código Unicode ou caracteres multibyte define (MBCSs).