Поделиться через


Юникод и многобайтовая кодировка

Обновлен: Ноябрь 2007

Библиотека Microsoft Foundation Classes (MFC), библиотека времени выполнения на языке С для Visual C++ и среда разработки Visual C++ могут быть использованы при программировании для международной аудитории. Они предоставляют следующее.

  • Поддержку стандарта Юникода в операционной системе Windows 2000 (ранее Windows NT).

    Юникод представляет собой 16-битную кодировку символов для всех языков. Символы All ASCII включены в Юникод как расширенные.

    cwe8bzh0.alert_note(ru-ru,VS.90).gifПримечание.

    Стандарт Юникода не поддерживается в Windows 95, Windows 98 и Windows Millennium Edition.

  • Поддержку формы многобайтовой кодировки (MBCS), называемой двухбайтовой (DBCS), на всех платформах.

    Символы DBCS состоят из одного или двух байтов. Некоторое число байтов резервируется для использования в качестве старших байтов. Старший байт указывает на то, что он и следующий за ним младший байт образуют один двухбайтовый символ. Необходимо отслеживать какие байты являются старшими. В конкретной многобайтовой кодировке старшие байты, также как и младшие, попадают в определенный диапазон. Когда эти диапазоны перекрываются, необходимо оценить контекст, чтобы определить, функционирует ли заданный байт в качестве старшего или младшего байта.

  • Поддержку инструментов, облегчающих программирование многобайтовой кодировки для приложений, написанных для международной аудитории.

    При использовании версии операционной системы Windows, поддерживающей многобайтовую кодировку, система разработки Visual C++, включая встроенный редактор исходного кода, отладчик и инструменты командной строки, полностью приспособлена для многобайтовой кодировки. Дополнительные сведения см. в разделе Поддержка многобайтовой кодировки в Visual C++.

cwe8bzh0.alert_note(ru-ru,VS.90).gifПримечание.

В этой документации под многобайтовой кодировкой понимается вся поддержка кодировок, отличных от Юникода, для многобайтовых символов. В Visual C++ многобайтовая кодировка всегда означает двухбайтовую кодировку. Кодировка символов, состоящих из более двух байтов, не поддерживается.

По определению кодировка ASCII является подмножеством всех многобайтовых кодировок. Во многих многобайтовых кодировках каждый символ в диапазоне 0x00 — 0x7F отождествляется с символом, имеющим такое же значение в кодировке ASCII. Например, в обеих строках символов кодировки ASCII и многобайтовой кодировки однобайтовый символ NULL ('\0') имеет значение 0x00 и означает завершающий нулевой знак.

См. также

Основные понятия

Поддержка кодировок в С++

Использование на международном уровне