Структура CPINFOEXW (winnls.h)
Содержит сведения о кодовой странице. Эта структура используется функцией GetCPInfoEx.
Синтаксис
typedef struct _cpinfoexW {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
WCHAR UnicodeDefaultChar;
UINT CodePage;
WCHAR CodePageName[MAX_PATH];
} CPINFOEXW, *LPCPINFOEXW;
Члены
MaxCharSize
Максимальная длина символа в байтах на кодовой странице. Длина может быть 1 для однобайтового набора символов (SBCS), 2 для двухбайтового набора символов (DBCS) или значения, превышающего 2 для других типов наборов символов. Функция не может использовать размер для различения SBCS или DBCS от других символьных наборов из-за других факторов, например использование кодовых страниц ISCII или ISO-2022-xx.
DefaultChar[MAX_DEFAULTCHAR]
Символ по умолчанию, используемый при переводе строк символов на определенную кодовую страницу. Этот символ используется функцией WideCharToMultiByte, если явный символ по умолчанию не указан. По умолчанию обычно используется символ "?" для кодовой страницы.
LeadByte[MAX_LEADBYTES]
Массив фиксированной длины диапазонов байтов свинца, для которого число диапазонов байтов свинца является переменной. Если кодовая страница не имеет байтов свинца, для каждого элемента массива задано значение NULL. Если кодовая страница содержит байты свинца, массив задает начальное значение и конечное значение для каждого диапазона. Диапазоны включены включительно, а максимальное число диапазонов для любой кодовой страницы составляет пять. Массив использует два байта для описания каждого диапазона с двумя байтами NULL в качестве конца после последнего диапазона.
UnicodeDefaultChar
Символ Юникода по умолчанию, используемый в переводах с определенной кодовой страницы. Значение по умолчанию обычно является символом "?" или символом средней точки катаканы. Символ Юникода по умолчанию используется функцией MultiByteToWideChar.
CodePage
Значение кодовой страницы. Это значение отражает кодовую страницу, переданную функции GetCPInfoEx
CodePageName[MAX_PATH]
Полное имя кодовой страницы. Обратите внимание, что это имя локализовано и не гарантирует уникальность или согласованность между версиями операционной системы или компьютерами.
Замечания
Байты свинца уникальны для кодовых страниц DBCS, которые позволяют использовать более 256 символов. Байт свинца является первым байтом 2-байтового символа в DBCS. На каждой кодовой странице DBCS потенциальные байты занимают определенный диапазон значений байтов. Этот диапазон отличается для разных кодовой страницы.
Сведения о байтах свинца не очень полезны для большинства кодовых страниц и даже не предоставляются для многих многобайтовых кодировок, например UTF-8 и GB18030. Приложения не рекомендуется использовать эти сведения для прогнозирования того, что будет выполнять MultiByteToWideChar или Функции WideCharToMultiBy te. Эта функция может в конечном итоге использовать символ по умолчанию или выполнить другое поведение по умолчанию, если байты после байта свинца не так, как ожидалось.
Заметка
Заголовок winnls.h определяет CPINFOEX как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 Профессиональный [классические приложения | Приложения UWP] |
минимальный поддерживаемый сервер | Windows 2000 Server [классические приложения | Приложения UWP] |
заголовка | winnls.h (включая Windows.h) |
См. также
структуры поддержки национальных языков