Conjuntos de caracteres de byte único e multibyteSingle-Byte and Multibyte Character Sets

O conjunto de caracteres ASCII define caracteres no intervalo 0x00 – 0x7F.The ASCII character set defines characters in the range 0x00 - 0x7F. Há uma série de outros conjuntos de caracteres, principalmente europeus, que definem os caracteres dentro do intervalo 0x00 – 0x7F de forma idêntica ao conjunto de caracteres ASCII e também definem um conjunto de caracteres estendido de 0x80 – 0xFF.There are a number of other character sets, primarily European, that define the characters within the range 0x00 - 0x7F identically to the ASCII character set and also define an extended character set from 0x80 - 0xFF. Portanto, um SBCS (conjunto de caracteres de um byte) de 8 bits é suficiente para representar o conjunto de caracteres ASCII e também os conjuntos de caracteres de vários idiomas europeus.Thus an 8-bit, single-byte-character set (SBCS) is sufficient to represent the ASCII character set as well as the character sets for many European languages. No entanto, alguns conjuntos de caracteres não europeus, como japonês Kanji, incluem muitos caracteres além dos que podem ser representados em um esquema de codificação de um byte e, portanto, exigem a codificação de um MBCS (conjunto de caracteres multibyte).However, some non-European character sets, such as Japanese Kanji, include many more characters than can be represented in a single-byte coding scheme, and therefore require multibyte-character set (MBCS) encoding.

Observação

Muitas rotinas de SBCS da biblioteca em tempo de execução da Microsoft tratam bytes, caracteres e cadeias de caracteres multibyte apropriadamente.Many SBCS routines in the Microsoft run-time library handle multibyte bytes, characters, and strings as appropriate. Muitos conjuntos de caracteres multibyte definem o conjunto de caracteres ASCII como um subconjunto.Many multibyte-character sets define the ASCII character set as a subset. Em muitos conjuntos de caracteres multibyte, cada caractere no intervalo 0x00 – 0x7F é idêntico ao caractere que tem o mesmo valor no conjunto de caracteres ASCII.In many multibyte character sets, each character in the range 0x00 - 0x7F is identical to the character that has the same value in the ASCII character set. Por exemplo, nas cadeias de caracteres ASCII e MBCS, o caractere de um byte nulo ('\0') tem valor 0x00 e indica o caractere nulo de terminação.For example, in both ASCII and MBCS character strings, the one-byte null character ('\0') has value 0x00 and indicates the terminating null character.

Um conjunto de caracteres multibyte pode consistir em caracteres de um byte e dois bytes.A multibyte character set may consist of both one-byte and two-byte characters. Portanto, uma cadeia de caracteres multibyte pode conter uma mistura de caracteres de byte único e duplo.Thus a multibyte-character string may contain a mixture of single-byte and double-byte characters. Um caractere multibyte de dois bytes tem um byte inicial e um byte final.A two-byte multibyte character has a lead byte and a trail byte. Em um conjunto de caracteres multibyte, os bytes iniciais ficam dentro de um determinado intervalo, assim como os bytes finais.In a particular multibyte-character set, the lead bytes fall within a certain range, as do the trail bytes. Quando esses intervalos se sobrepõem, pode ser necessário avaliar o contexto específico para determinar se um byte está funcionando como byte inicial ou byte final.When these ranges overlap, it may be necessary to evaluate the particular context to determine whether a given byte is functioning as a lead byte or a trail byte.

Consulte tambémSee also

InternacionalizaçãoInternationalization
Rotinas de tempo de execução C universais por categoriaUniversal C runtime routines by category