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.
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) |