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


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

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

Синтаксис

typedef struct _cpinfo {
  UINT MaxCharSize;
  BYTE DefaultChar[MAX_DEFAULTCHAR];
  BYTE LeadByte[MAX_LEADBYTES];
} CPINFO, *LPCPINFO;

Члены

MaxCharSize

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

DefaultChar[MAX_DEFAULTCHAR]

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

LeadByte[MAX_LEADBYTES]

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

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

Комментарии

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

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

CPINFOEX, используемая функцией GetCPInfoEx , предоставляет расширенную версию этой структуры.

Требования

Требование Значение
Минимальная версия клиента Windows 2000 Professional [только классические приложения]
Минимальная версия сервера Windows 2000 Server [только классические приложения]
Верхняя часть winnls.h (включая Windows.h)

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

CPINFOEX

GetCPInfo

MultiByteToWideChar

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

WideCharToMultiByte