Compartilhar via


Localidades e páginas de código

Uma ID local reflete as convenções local e o idioma para uma região geográfica específico.Um determinado idioma pode ser falado em mais de um país/região; por exemplo, o é português Brasil bem como falado em em Portugal.Por outro lado, um país/região pode ter mais de um idioma oficial.Por exemplo, Canadá tem duas linguagens: Inglês e francês.Assim, Canadá tem duas localidades distintas: Canadense-inglês e Canadense-francês.Algumas categorias de formatação incluem são dependentes de datas e formato de exibição para valores monetários.

O idioma determina as convenções de formatação de texto e dados, quando o país/região determinar as convenções locais.Cada linguagem tem um mapeamento exclusivo, representado por páginas de código, que inclui caracteres diferentes de aqueles no alfabeto (como marcas e números de pontuação.)Uma página de código é um conjunto de caracteres e está relacionada à linguagem.Como tal, localidade é uma combinação exclusiva de linguagem, país/região, e da página de código.A localidade e composição de código podem ser alteradas em tempo de execução chamando a função de setlocale .

Linguagens diferentes podem usar diferentes páginas de código.Por exemplo, a página de código ANSI 1252 é usada para inglês e a maioria das linguagens europa ocidental, e a página de código ANSI 932 é usada para o Kanji japonês.Praticamente todas as páginas de código compartilham o conjunto de caracteres ASCII para os dois valores 128 caracteres (0x00 a 0x7F).

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

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

A biblioteca em tempo de execução de C tem dois tipos de páginas de código internas: localidade e multibyte.Você pode alterar a página atual de código durante a execução do programa (consulte a documentação para as funções de setlocale e de _setmbcp ).Além disso, a biblioteca em 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 é “da página de código ANSI padrão do sistema”.Esta página de código é constante para a duração de execução do programa.

Quando a página de código de localidade muda, o comportamento do conjunto de alterações são dependentes de funções a ditou pela página de código escolhida.Por padrão, todas as funções são dependentes de começam a execução com uma página de código de localidade exclusivo para o local de “C”.Você pode alterar a página de código interna de localidade (bem como outras propriedades específicas) chamar a função de setlocale .Uma chamada para setlocale("") LC_ALL, defina a localidade a indicada pela localidade do sistema operacional.

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

A função setlocale de tempo de execução de C, define ou altera, consulta algumas ou todas as informações de localidade de programa atual.A rotina de _wsetlocale é uma versão de largo- caractere de setlocale; os argumentos e valores de retorno de _wsetlocale são cadeias de caracteres de largo- caractere.

Consulte também

Conceitos

Unicode e MBCS

Benefícios do caractere definir portabilidade