Compartilhar via


Suporte a Unicode

Unicode é uma especificação para oferecer suporte a todos os conjuntos de caractere, incluindo conjuntos de caractere que não podem ser representados em um único byte.Se você está programando para um mercado internacional, considere o uso de Unicode ou conjuntos de caractere multibyte (MBCSs) ou de habilitação de seu programa para construí-lo para um, alterando um comutador.

Um caractere largo é um código de caracteres multilíngüe 2 byte.A maioria dos caracteres usados na computação moderna em todo o mundo, incluindo símbolos técnicos e caracteres especiais de publicação, podem ser representados de acordo com a especificação do Unicode sistema autônomo um caractere largo.Caracteres que não podem ser representadas no caractere largo 1 podem ser representados em um emparelhar de Unicode com recurso de substituto do Unicode.Porque cada caractere largo sempre é representado em um dimensionar fixo de 16 bits, o uso de caracteres largos simplifica a programação com conjuntos de caracteres internacionais.

Uma seqüência de caractere a toda é representada sistema autônomo um [] wchar_t array e é apontada por um wchar_t* ponteiro. Qualquer caractere ASCII pode ser representado sistema autônomo um caractere de largo por letra L caractere para a colocação de um prefixo.Por exemplo, L '\0' é a terminação de toda (16 bit) NULO caractere.Da mesma forma, qualquer seqüência de caractere ASCII literal pode ser representada sistema autônomo uma seqüência de caractere largos literal pela colocação de um prefixo a letra L para o literal de ASCII ("Hello" L).

Em geral, caracteres largos demorar mais espaço na memória de caracteres multibyte mas são mais rápidos ao processo.Além disso, somente uma localidade pode ser representado por vez na codificação multibyte, enquanto os conjuntos de todos os caractere no mundo são representados simultaneamente por representação Unicode.

A estrutura do MFC está habilitado para Unicode em todo, exceto para as classes de banco de dados.(ODBC não está habilitado para Unicode.) MFC realiza Unicode permitindo usando macros portátil em todo, conforme mostrado na tabela a seguir.

Tipos de dados portátil no MFC

Tipo de dados não-portáteis

Substituído por esta macro

char

_TCHAR

char *, LPSTR (tipo de dados Win32)

LPTSTR

Const char *, LPCSTR (tipo de dados Win32)

LPCTSTR

De classeCString usa _TCHAR sistema autônomo sua base e fornece construtores e operadores para conversões simples.A maioria das operações de seqüência de caracteres para Unicode pode ser escrito usando a mesma lógica usada para manipular o conjunto de caracteres ANSI do Windows, exceto pelo fato de que a unidade básica de operação é um caractere de 16 bit em vez de um byte com 8 bit.Ao contrário de trabalhando com conjuntos de caracteres multibyte (MBCSs), você não é necessário (e não deve) tratar um caractere Unicode sistema autônomo se fosse dois bytes distintas.

O que você deseja fazer?

Consulte também

Conceitos

Conjuntos de caractere em C++

Suporte para o uso de wmain