Freigeben über


IsDBCSLeadByteEx-Funktion (winnls.h)

Bestimmt, ob ein angegebenes Zeichen potenziell ein Leadbyte ist. Ein Leadbyte ist das erste Byte eines Zwei-Byte-Zeichens in einem Double-Byte-Zeichensatz (DBCS) für die Codepage.

Syntax

BOOL IsDBCSLeadByteEx(
  [in] UINT CodePage,
  [in] BYTE TestChar
);

Parameter

[in] CodePage

Bezeichner der Codepage, die zum Überprüfen von Leadbytebereichen verwendet wird. Bei diesem Parameter kann es sich um einen der Codepagebezeichner handeln, die in Unicode- und Zeichensatzkonstanten definiert sind, oder um einen der folgenden vordefinierten Werte. Diese Funktion überprüft die Werte für Leadbytes nur auf den Codepages 932, 936, 949, 950 und 1361.

Wert Bedeutung
CP_ACP
Verwenden Sie die Standardmäßige Windows ANSI-Codepage.
CP_MACCP
Verwenden Sie die Macintosh-Standardcodeseite des Systems.
CP_OEMCP
Verwenden Sie die Standard-OEM-Codepage des Systems.
CP_THREAD_ACP
Verwenden Sie die Windows ANSI-Codepage für den aktuellen Thread.

[in] TestChar

Das zu überprüfende Zeichen.

Rückgabewert

Gibt einen Nonzero-Wert zurück, wenn das Byte ein Leadbyte ist. Die Funktion gibt 0 zurück, wenn das Byte kein Leadbyte ist oder wenn das Zeichen ein Einzelbytezeichen ist. Um erweiterte Fehlerinformationen abzurufen, kann die Anwendung GetLastError aufrufen.

Hinweise

Hinweis Diese Funktion überprüft nicht das Vorhandensein oder die Gültigkeit eines Trailbytes. Daher erkennt MultiByteToWideChar möglicherweise keine Sequenz, die die Anwendung mit IsDBCSLeadByte als Leadbyte meldet. Die Anwendung kann leicht mit den Ergebnissen von MultiByteToWideChar synchronisiert werden, was zu unerwarteten Fehlern oder Puffergrößenkonflikten führen kann.
 
Im Allgemeinen sollten Anwendungen MultiByteToWideChar verwenden, um die Daten in UTF-16 zu konvertieren und in dieser Codierung damit zu arbeiten.

Leadbytewerte sind spezifisch für jedes unterschiedliche DBCS. Einige Bytewerte können in einer einzelnen Codepage sowohl als Lead- als auch als Trailbyte eines DBCS-Zeichens angezeigt werden. Daher kann IsDBCSLeadByteEx nur einen potenziellen Leadbytewert angeben.

Um eine DBCS-Zeichenfolge zu verstehen, beginnt eine Anwendung normalerweise am Anfang der Zeichenfolge und scannt nach vorne, behält den Überblick, wenn sie auf ein Leadbyte trifft, und behandelt das nächste Byte als den nachfolgenden Teil desselben Zeichens. Zum Sichern sollte die Anwendung CharPrevExA verwenden, anstatt einen eigenen Algorithmus zu entwickeln.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [Desktop-Apps | UWP-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [Desktop-Apps | UWP-Apps]
Zielplattform Windows
Kopfzeile winnls.h (einschließlich Windows.h)
Bibliothek Kernel32.lib
DLL Kernel32.dll

Siehe auch

MultiByteToWideChar

Unicode- und Zeichensatzfunktionen

Unicode- und Zeichensätze

WideCharToMultiByte