Юникод и многобайтовая кодировка
Библиотека Microsoft Foundation Classes (MFC), библиотека времени выполнения на языке С для Visual C++ и среда разработки Visual C++ могут быть использованы при программировании для международной аудитории.Они предоставляют следующее.
Поддержку стандарта Юникода в операционной системе Windows 2000 (ранее Windows NT).
Юникод представляет собой 16-битную кодировку символов для всех языков.Символы All ASCII включены в Юникод как расширенные.
Примечание Стандарт Юникода не поддерживается в Windows 95, Windows 98 и Windows Millennium Edition.
Поддержку формы многобайтовой кодировки (MBCS), называемой двухбайтовой (DBCS), на всех платформах.
Символы DBCS состоят из одного или двух байтов.Некоторое число байтов резервируется для использования в качестве старших байтов.Старший байт указывает на то, что он и следующий за ним младший байт образуют один двухбайтовый символ.Необходимо отслеживать какие байты являются старшими.В конкретной многобайтовой кодировке старшие байты, также как и младшие, попадают в определенный диапазон.Когда эти диапазоны перекрываются, необходимо оценить контекст, чтобы определить, функционирует ли заданный байт в качестве старшего или младшего байта.
Поддержку инструментов, облегчающих программирование многобайтовой кодировки для приложений, написанных для международной аудитории.
При использовании версии операционной системы Windows, поддерживающей многобайтовую кодировку, система разработки Visual C++, включая встроенный редактор исходного кода, отладчик и инструменты командной строки, полностью приспособлена для многобайтовой кодировки.Дополнительные сведения см. в разделе Поддержка многобайтовой кодировки в Visual C++.
Примечание |
---|
В этой документации под многобайтовой кодировкой понимается вся поддержка кодировок, отличных от Юникода, для многобайтовых символов.В Visual C++ многобайтовая кодировка всегда означает двухбайтовую кодировку.Кодировка символов, состоящих из более двух байтов, не поддерживается. |
По определению кодировка ASCII является подмножеством всех многобайтовых кодировок.Во многих многобайтовых кодировках каждый символ в диапазоне 0x00 — 0x7F отождествляется с символом, имеющим такое же значение в кодировке ASCII.Например, в обеих строках символов кодировки ASCII и многобайтовой кодировки однобайтовый символ NULL ('\0') имеет значение 0x00 и означает завершающий нулевой знак.