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

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

  • Поддержка стандарта Юникода в Windows. Юникод является текущим стандартом и должен использоваться каждый раз, когда это возможно.

    Юникод — это 16-разрядная кодировка символов, обеспечивающая достаточно кодирования для всех языков. Все символы ASCII включены в Юникод как расширенные символы.

  • Поддержка многобайтового набора символов (МБ CS) с именем двойного байтового набора символов (DBCS) на всех платформах.

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

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

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

Примечание.

В этой документации МБ CS используется для описания всех поддержки многобайтовых символов, отличных от Юникода. В Visual C++МБ CS всегда означает DBCS. Наборы символов, превышающие 2 байта, не поддерживаются.

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

См. также

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