Suporte para Conjuntos de Caracteres Multibyte (MBCSs)
Os conjuntos de caracteres de vários bytes (MBCSs) é uma abordagem mais antiga da necessidade de suporte a conjuntos de caracteres, como chinês, japonês e que não pode ser representado em um único byte. Se você estiver fazendo um novo desenvolvimento, você deve usar Unicode para todas as cadeias de caracteres de texto exceto talvez as cadeias de caracteres do sistema que não são consideradas por usuários finais. MBCS é uma tecnologia herdado e não é recomendado para desenvolvimento.
A implementação mais comuns de MBCS é conjuntos de caracteres de dois bytes (DBCSs). Visual C++ em geral, e o MFC em particular, são habilitados total para DBCS.
Aviso
No Visual Studio 2013 e versões posteriores, as bibliotecas de MFC para diversos - byle codificação de caractere (MBCS) serão fornecidas como um serviço adicional ao Visual Studio e ficará disponível gratuitamente as edições final dos clientes do Visual Studio (Profissional, superior e somente) no site de download do MSDN.
As bibliotecas requerem aproximadamente 440 MB na unidade e, a instalação inclui todas as versões localizadas das bibliotecas.Você pode instalá-lo em qualquer computador no qual o Visual Studio profissional, edição superior ou final é instalado, e que tem o recurso de MFC na caixa habilitado
Se você desinstalar ou repara o Visual Studio, as bibliotecas de MBCS também serão desinstalados ou reparadas.Entretanto, se você remover apenas o recurso de MFC, as bibliotecas de MBCS permanecerão em seu sistema.Se você repara as bibliotecas de MBCS, o Visual Studio não será alterado de nenhuma forma.
Os pacotes redistribuíveis para o Visual Studio 2013 e posterior ainda incluirá as dlls de MBCS MFC.Nenhuma etapa adicional é necessária para redistribuir os DLL a seus clientes.
Para obter exemplos, consulte os arquivos de código-fonte MFC.
Para plataformas usadas data marts idiomas cujos usam grandes conjuntos de caracteres, a melhor alternativa para Unicode é MBCS. MBCS MFC O oferece suporte usando funções internationalizable tipos de dados e de tempo de execução C. Você deve fazer o mesmo em seu código.
Em MBCS, os caracteres são codificados no 1 ou 2 bytes. Em 2 caracteres de byte, o primeiro, ou o byte inicial, sinalizam que ambos ele e o byte seguir devem ser interpretado como um caractere. O primeiro byte vêm de um intervalo de códigos reservados para uso como bytes iniciais. Intervalos de bytes que podem ser bytes iniciais depende da página de código em uso. Por exemplo, a página de código em japonês 932 usa o intervalo 0x81 com 0x9F como bytes inicial, mas a página de código 949 coreana usar um intervalo diferente.
Considere o seguinte na programação de MBCS.
Caracteres de MBCS no ambiente
Os caracteres de MBCS podem aparecer em cadeias de caracteres como o arquivo e os nomes de diretório.Operações de edição
As operações de edição em aplicativos de MBCS devem funcionar em caracteres, não em bytes. O sinal de intercalação não precisará dividir um caractere, a tecla de SETA PARA A DIREITA deverá mover se esqueça de um caractere, e assim por diante. Excluir deve excluir um caractere; Desfazer deve reintroduzi-lo.Manipulação de cadeia de caracteres
Em um aplicativo que usa o MBCS, problemas de cadeia de caracteres especiais de representa a manipulação. Os caracteres de ambas as larguras são mesclados em uma única cadeia de caracteres; em virtude disso, você deve se lembrar de verifique se há bytes iniciais.Suporte à biblioteca de tempo de execução
A biblioteca de tempo de execução C e o MFC dão suporte ao byte único, o MBCS, e a programação de Unicode. As cadeias de caracteres de um byte são processadas com a família de str de funções de tempo de execução, as cadeias de caracteres de MBCS são processadas com o correspondente funções de _mbs , e as cadeias de caracteres Unicode são processadas com funções correspondentes de wcs . As implementações da função de membro da classe de MFC usam o tempo de execução portátil funções que o mapa, nas condições à direita, a família normal de str de funções, MBCS funções, as funções ou Unicode, conforme descrito na portabilidade de “/” MBCS Unicode.Portabilidade de MBCS/Unicode
Usando o arquivo de cabeçalho de Tchar.h, você pode compilar o byte único, o MBCS, e os aplicativos Unicode das mesmas fontes. Tchar.h define as macros prefixados com os _tcs , que mapeiam para str, a _mbs, ou funções de wcs , conforme apropriado. Para criar um MBCS, defina o símbolo _MBCS. Para criar Unicode, defina o símbolo _UNICODE. Por padrão, _MBCS é definido para aplicativos de MFC. Para obter mais informações, consulte Mapeamentos de Genérico- texto em Tchar.h.
Dica
O comportamento será indefinido se você definir _UNICODE e _MBCS.
Os arquivos de Mbctype.h e de Mbstring.h definem as funções e macros MBCS- específicos, que talvez seja necessário em alguns casos. Por exemplo, _ismbblead informa se um byte específico em uma cadeia de caracteres é um byte inicial.
Para a portabilidade internacional, para codificar seu programa com Unicode ou conjuntos de caracteres de vários bytes (MBCSs).