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


Структура CPINFOEXA (winnls.h)

Содержит сведения о кодовой странице. Эта структура используется функцией GetCPInfoEx .

Синтаксис

typedef struct _cpinfoexA {
  UINT  MaxCharSize;
  BYTE  DefaultChar[MAX_DEFAULTCHAR];
  BYTE  LeadByte[MAX_LEADBYTES];
  WCHAR UnicodeDefaultChar;
  UINT  CodePage;
  CHAR  CodePageName[MAX_PATH];
} CPINFOEXA, *LPCPINFOEXA;

Члены

MaxCharSize

Максимальная длина (в байтах) символа на кодовой странице. Длина может быть 1 для однобайтовой кодировки (SBCS), 2 для двухбайтовой кодировки (DBCS) или значение больше 2 для других типов наборов символов. Функция не может использовать размер для отличия SBCS или DBCS от других наборов символов из-за других факторов, например использования кодовых страниц ISCII или ISO-2022-xx.

DefaultChar[MAX_DEFAULTCHAR]

Символ по умолчанию, используемый при переводе символьных строк на определенную кодовую страницу. Этот символ используется функцией WideCharToMultiByte , если не указан явный символ по умолчанию. По умолчанию обычно используется символ "?" для кодовой страницы.

LeadByte[MAX_LEADBYTES]

Массив диапазонов байтов с фиксированной длиной, для которого число диапазонов байтов свинца является переменным. Если кодовая страница не содержит байтов потенциальных данных, каждому элементу массива присваивается значение NULL. Если кодовая страница содержит начальные байты, массив задает начальное и конечное значение для каждого диапазона. Диапазоны являются инклюзивными, а максимальное количество диапазонов для любой кодовой страницы составляет пять. Массив использует два байта для описания каждого диапазона с двумя пустыми байтами в качестве признака конца после последнего диапазона.

Примечание Некоторые кодовые страницы используют байты потенциальных данных и сочетание других механизмов кодирования. Этот элемент обычно заполняется только для подмножества кодовых страниц, которые используют байты потенциальных данных в той или иной форме. Дополнительные сведения см. в разделе «Примечания».
 

UnicodeDefaultChar

Символ Юникода по умолчанию используется в переводах с определенной кодовой страницы. По умолчанию обычно используется символ "?" или символ средней точки катаканы. Символ Юникода по умолчанию используется функцией MultiByteToWideChar .

CodePage

Значение кодовой страницы. Это значение отражает кодовую страницу, переданную в функцию GetCPInfoEx . Список ANSI и других кодовых страниц см. в разделе Кодовые страницы .

CodePageName[MAX_PATH]

Полное имя кодовой страницы. Обратите внимание, что это имя локализовано и не гарантирует уникальность или согласованность между версиями операционной системы или компьютерами.

Комментарии

Байты потенциальных пользователей являются уникальными для кодовых страниц DBCS, в которых допускается более 256 символов. Байт свинца — это первый байт двухбайтового символа в DBCS. На каждой кодовой странице DBCS байты потенциального клиента занимают определенный диапазон байтовых значений. Этот диапазон отличается для разных кодов.

Информация о потенциальных байтах не очень полезна для большинства кодовых страниц и даже не предоставляется для многих многобайтовых кодировок, например UTF-8 и GB18030. Приложениям не рекомендуется использовать эти сведения для прогнозирования того, что будет делать функция MultiByteToWideChar или WideCharToMultiByte . Функция может в конечном итоге использовать символ по умолчанию или выполнять другое поведение по умолчанию, если байты, следующие за байтом свинца, не являются ожидаемыми.

Примечание

Заголовок winnls.h определяет CPINFOEX как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора UNICODE. Сочетание использования псевдонима, не зависящий от кодировки, с кодом, не зависящим от кодировки, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в разделе Соглашения для прототипов функций.

Требования

   
Минимальная версия клиента Windows 2000 Профессиональная [классические приложения | Приложения UWP]
Минимальная версия сервера Windows 2000 Server [классические приложения | Приложения UWP]
Верхняя часть winnls.h (включая Windows.h)

См. также раздел

GetCPInfoEx

MultiByteToWideChar

Структуры поддержки национальных языков

WideCharToMultiByte