Localidades e páginas de código

A identificação de localidade reflete a convenções locais e o idioma para uma determinada região geográfica. Um determinado idioma pode ser falado em mais de um país; Por exemplo, português é falado no Brasil, bem como em Portugal. Por outro lado, um país/região pode ter mais de um idioma oficial. Por exemplo, o Canadá tem dois idiomas: Inglês e francês. Assim, o Canadá possui duas localidades distintas: Canadá-inglês e francês (Canadá). Algumas categorias depende da localidade incluem a formatação de datas e o formato de exibição para valores monetários.

O idioma determina o texto e a formatação de convenções, enquanto o país/região determina as convenções nacionais de dados. Cada idioma tem um único mapeamento, representado por páginas de código, que inclui caracteres diferentes do alfabeto (como, por exemplo, sinais de pontuação e números). Uma página de código é um conjunto de caracteres e está relacionada ao idioma. Como tal, um localidade é uma combinação exclusiva de página de código de idioma e país/região. A configuração de localidade e o código da página pode ser alterada em tempo de execução chamando o setlocale função.

Idiomas diferentes podem usar diferentes páginas de código. Por exemplo, a página de código 1252 ANSI é usada para inglês e a maioria dos idiomas europeus, e a página de código ANSI 932 é usada para japonês Kanji. Praticamente todas as páginas de código compartilham o ASCII conjunto de caracteres de 128 caracteres menor (0x00 para 0x7F).

Qualquer página de código de byte único pode ser representada em uma tabela (com entradas de 256) como um mapeamento de valores de byte para caracteres (incluindo os números e pontuação) ou de glifos. Qualquer página de código multibyte também pode ser representada como uma tabela muito grande (com entradas de 64K) dos valores de byte duplo para caracteres. Na prática, no entanto, ele são geralmente representados como uma tabela para os primeiros 256 caracteres (byte único) e intervalos para os valores de byte duplo.

Para obter mais informações sobre páginas de código, consulte Páginas de código.

A biblioteca de tempo de execução c tem dois tipos de páginas de código interno: localidade e multibyte. Você pode alterar a página de código atual durante a execução do programa (consulte a documentação para o setlocale e _setmbcp funções). Além disso, a biblioteca de tempo de execução pode obter e usar o valor da página de código do sistema operacional. No Windows 2000, a página de código do sistema operacional é o "Sistema padrão ANSI" página de código. Esta página de código é constante durante a execução do programa.

Quando a página de código da localidade muda o comportamento do conjunto de alterações de funções que ditado pela página de código escolhida depende da localidade. Por padrão, todas as funções de depende da localidade começam a execução de uma página de código de localidade exclusiva para o "C" localidade. Você pode alterar a página de código interno de localidade (bem como outras propriedades específicas de localidade) chamando o setlocale função. Uma chamada para setlocale(LC_ALL, "") define a localidade para que o indicado pela localidade do usuário do sistema operacional.

Da mesma forma, quando a página de código multibyte muda o comportamento das alterações multibyte funções que ditado pela página de código escolhida. Por padrão, todas as funções multibyte começam a execução com uma página de código multibyte correspondente à página de código padrão do sistema operacional. Você pode alterar a página de código multibyte interno chamando o _setmbcp função.

A função do tempo de execução c setlocale define, for alterado ou as consultas que algumas ou todas as informações de localidade. do programa atual O _ wsetlocale rotina é uma versão de caractere largo de setlocale; os argumentos e valores de retorno de _wsetlocale são seqüências de caracteres largos.

Consulte também

Conceitos

Unicode e MBCS

Vantagens de portabilidade do conjunto de caracteres