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