CPINFO-Struktur (winnls.h)

Enthält Informationen zu einer Codepage. Diese Struktur wird von der GetCPInfo-Funktion verwendet.

Syntax

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

Member

MaxCharSize

Maximale Länge eines Zeichens in Byte auf der Codepage. Die Länge kann 1 für einen Single-Byte-Zeichensatz (SBCS), 2 für einen Double-Byte-Zeichensatz (DBCS) oder ein Wert größer als 2 für andere Zeichensatztypen sein. Die Funktion kann aufgrund anderer Faktoren, z. B. der Verwendung von ISCII- oder ISO-2022-xx-Codepages, die Größe nicht verwenden, um einen SBCS oder einen DBCS von anderen Zeichensätzen zu unterscheiden.

DefaultChar[MAX_DEFAULTCHAR]

Standardzeichen, das beim Übersetzen von Zeichenfolgen in die spezifische Codepage verwendet wird. Dieses Zeichen wird von der WideCharToMultiByte-Funktion verwendet, wenn kein explizites Standardzeichen angegeben wird. Der Standardwert ist in der Regel das Zeichen "?" für die Codepage.

LeadByte[MAX_LEADBYTES]

Ein Array mit fester Länge von Leadbytebereichen, für die die Anzahl der Leadbytebereiche variabel ist. Wenn die Codepage keine Leadbytes enthält, wird jedes Element des Arrays auf NULL festgelegt. Wenn die Codepage über Leadbytes verfügt, gibt das Array einen Startwert und einen Endwert für jeden Bereich an. Bereiche sind inklusive, und die maximale Anzahl von Bereichen für jede Codepage beträgt fünf. Das Array verwendet zwei Bytes, um jeden Bereich zu beschreiben, wobei zwei NULL-Bytes als Abschlusszeichen nach dem letzten Bereich verwendet werden.

Hinweis Einige Codepages verwenden Leadbytes und eine Kombination aus anderen Codierungsmechanismen. Dieser Member wird in der Regel nur für eine Teilmenge der Codepages aufgefüllt, die Leadbytes in irgendeiner Form verwenden. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
 

Bemerkungen

Leadbytes sind für DBCS-Codepages eindeutig, die mehr als 256 Zeichen zulassen. Ein Leadbyte ist das erste Byte eines 2-Byte-Zeichens in einem DBCS. Auf jeder DBCS-Codepage belegen die Leadbytes einen bestimmten Bereich von Bytewerten. Dieser Bereich unterscheidet sich für verschiedene Codepages.

Die Leadbyteinformationen sind für die meisten Codepages nicht sehr hilfreich und werden nicht einmal für viele Multibytecodierungen bereitgestellt, z. B. UTF-8 und GB18030. Ihre Anwendungen werden davon abgeraten, diese Informationen zu verwenden, um vorherzusagen, was die MultiByteToWideChar - oder WideCharToMultiByte-Funktion tun wird. Die Funktion verwendet möglicherweise ein Standardzeichen oder ein anderes Standardverhalten, wenn die dem Leadbyte folgenden Bytes nicht wie erwartet sind.

CPINFOEX, das von der GetCPInfoEx-Funktion verwendet wird, stellt eine erweiterte Version dieser Struktur bereit.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Kopfzeile winnls.h (windows.h einschließen)

Weitere Informationen

CPINFOEX

GetCPInfo

MultiByteToWideChar

Nationale Sprachunterstützungsstrukturen

WideCharToMultiByte