Compartilhar via


Suporte para conjuntos de caractere multibyte (MBCSs)

Conjuntos de caractere multibyte (MBCSs) são uma alternativa para Unicode para oferecer suporte a conjuntos de caractere, 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 que seu programa para que você possa compilação-lo para um, alterando um comutador.

A implementação de MBCS mais comum é conjuntos de caractere de byte duplo (DBCSs).Em geral do Visual C++ e o MFC em especial, é totalmente habilitado para DBCS.

Para ver exemplos, consulte os arquivos de código-fonte MFC.

Para plataformas usadas nos mercados cujos idiomas usam conjuntos de caractere grandes, a melhor alternativa para o Unicode é MBCS.MFC suporta MBCS usando tipos de dados internationalizable e C em time de execução funções.Você deve fazer o mesmo em seu código.

Em MBCS, os caracteres são codificados no 1 ou 2 bytes.Em caracteres de 2 bytes, o primeiro ou byte inicial, sinais de que ele e o byte seguinte devem ser interpretado sistema autônomo um caractere.O primeiro byte é proveniente de um intervalo de códigos de reservado para uso sistema autônomo bytes de cliente potencial.Os intervalos de bytes podem ser bytes do cliente potencial depende da página de código em uso.Por exemplo, página de código japonês 932 usa o intervalo de 0 x 81 através de 0x9F sistema autônomo bytes de cliente potencial, mas a página de código coreano 949 usa um intervalo diferente.

Considere todos os itens a seguir em sua programação de MBCS.

  • Caracteres MBCS no ambiente
    Caracteres MBCS podem aparecer em strings sistema autônomo nomes de arquivos e diretórios.

  • Operações de edição
    Operações em MBCS aplicativos de edição devem operar em caracteres, não bytes.O cursor não deve dividir um caractere, a tecla seta para a direita deve mover um caractere à direita e assim por diante.Excluir Exclua 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.Caracteres de ambas as larguras estão misturados em uma única cadeia de caracteres; portanto, você deve lembrar-se verificar se há bytes de cliente potencial.

  • em time de execução biblioteca de suporte
    O C em time de execução biblioteca e o MFC oferecem suporte a um byte, MBCS e Unicode de programação.Seqüências de caracteres de byte único são processadas com o str família de em time de execução funções, seqüências de caracteres MBCS são processadas com correspondente _mbs funções e as seqüências de caracteres Unicode são processados com correspondente WCS funções.Funções MFC classe membro função implementações uso portátil time de execução que MAP, sob sistema autônomo circunstâncias à direita, para o normal strfamília de funções MBCS ou sistema autônomo funções do Unicode, conforme descrito em "MBCS/Unicode portabilidade."

  • Portabilidade MBCS/Unicode
    Usando o arquivo de cabeçalho tchar.h, você pode criar um byte, MBCS e Unicode aplicativos a partir de fontes mesmos.Tchar.h define o prefixo macros*_tcs* , que mapeiam para str, _mbs, ou WCS funções, conforme apropriado.Para compilação MBCS, defina o símbolo _MBCS.Para compilação Unicode, defina o símbolo _UNICODE.Por padrão, _MBCS está definido para aplicativos MFC.Para obter mais informações, consulte Mapeamentos de texto genérica na tchar.h.

Observação:

Comportamento é indefinido se você definir ambas _UNICODE and _MBCS.

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 internacionais, código de seu programa com Unicodeos conjuntos de caractere ou multibyte (MBCSs).

O que você deseja fazer?

Consulte também

Conceitos

Conjuntos de caractere em C++

MBCS suporte no Visual C++