Share via


CPINFOEXW-Struktur (winnls.h)

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

Syntax

typedef struct _cpinfoexW {
  UINT  MaxCharSize;
  BYTE  DefaultChar[MAX_DEFAULTCHAR];
  BYTE  LeadByte[MAX_LEADBYTES];
  WCHAR UnicodeDefaultChar;
  UINT  CodePage;
  WCHAR CodePageName[MAX_PATH];
} CPINFOEXW, *LPCPINFOEXW;

Member

MaxCharSize

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

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 ist. Der Standardwert ist normalerweise das Zeichen "?" für die Codepage.

LeadByte[MAX_LEADBYTES]

Ein Array mit fester Länge von Leadbytebereichen, für das 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 inklusiv, und die maximale Anzahl von Bereichen für eine 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 anderer Codierungsmechanismen. Dieses Element wird normalerweise nur für eine Teilmenge der Codepages aufgefüllt, die Leadbytes in irgendeiner Form verwenden. Weitere Informationen finden Sie im Abschnitt mit Hinweisen.
 

UnicodeDefaultChar

Unicode-Standardzeichen, das in Übersetzungen von der spezifischen Codepage verwendet wird. Der Standardwert ist normalerweise das Zeichen "?" oder das Katakana-Mittelpunktzeichen. Das Unicode-Standardzeichen wird von der MultiByteToWideChar-Funktion verwendet.

CodePage

Codepagewert. Dieser Wert spiegelt die Codepage wider, die an die GetCPInfoEx-Funktion übergeben wird. Eine Liste mit ANSI und anderen Codepages finden Sie unter Codepage-Bezeichner .

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-Codeseiten 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 Bytewertbereich. Dieser Bereich unterscheidet sich für verschiedene Codeseiten.

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 leisten wird. Die Funktion verwendet möglicherweise ein Standardzeichen oder ein anderes Standardverhalten, wenn die Bytes, die dem Leadbyte folgen, 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 nicht codierungsneutralem Code 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 (einschließlich Windows.h)

Weitere Informationen

GetCPInfoEx

MultiByteToWideChar

Nationale Sprachunterstützungsstrukturen

WideCharToMultiByte