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


Структура 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. Если кодовая страница содержит байты свинца, массив задает начальное значение и конечное значение для каждого диапазона. Диапазоны включены включительно, а максимальное число диапазонов для любой кодовой страницы составляет пять. Массив использует два байта для описания каждого диапазона с двумя байтами NULL в качестве конца после последнего диапазона.

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

UnicodeDefaultChar

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

CodePage

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

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)

См. также

GetCPInfoEx

MultiByteToWideChar

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

WideCharToMultiByte