CPINFOEXA-Struktur (winnls.h)
Enthält Informationen zu einer Codepage. Diese Struktur wird von der GetCPInfoEx-Funktion verwendet.
Syntax
typedef struct _cpinfoexA {
UINT MaxCharSize;
BYTE DefaultChar[MAX_DEFAULTCHAR];
BYTE LeadByte[MAX_LEADBYTES];
WCHAR UnicodeDefaultChar;
UINT CodePage;
CHAR CodePageName[MAX_PATH];
} CPINFOEXA, *LPCPINFOEXA;
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.
UnicodeDefaultChar
Unicode-Standardzeichen, das in Übersetzungen von der spezifischen Codepage verwendet wird. Der Standardwert ist in der Regel das Zeichen "?" oder das Katakana-Mittelpunktzeichen. Das Unicode-Standardzeichen wird von der MultiByteToWideChar-Funktion verwendet.
CodePage
Codepagewert. Dieser Wert gibt die Codepage an, die an die GetCPInfoEx-Funktion übergeben wird. Eine Liste mit ANSI und anderen Codepages finden Sie unter Codepagebezeichner .
CodePageName[MAX_PATH]
Vollständiger Name der Codepage. Beachten Sie, dass dieser Name lokalisiert ist und nicht für die Eindeutigkeit oder Konsistenz zwischen Betriebssystemversionen oder Computern garantiert ist.
Hinweise
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.
Hinweis
Der winnls.h-Header definiert CPINFOEX als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [Desktop-Apps | UWP-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [Desktop-Apps | UWP-Apps] |
Kopfzeile | winnls.h (windows.h einschließen) |