IsDBCSLeadByte function (winnls.h)

Determines if a specified character is a lead byte for the system default Windows ANSI code page (CP_ACP). A lead byte is the first byte of a two-byte character in a double-byte character set (DBCS) for the code page.

Note  To use a different code page, your application should use the IsDBCSLeadByteEx function.
 

Syntax

BOOL IsDBCSLeadByte(
  [in] BYTE TestChar
);

Parameters

[in] TestChar

The character to test.

Return value

Returns a nonzero value if the test character is potentially a lead byte. The function returns 0 if the test character is not a lead byte or if it is a single-byte character. To get extended error information, the application can call GetLastError.

Remarks

Note  This function does not validate the presence or validity of a trail byte. Therefore, MultiByteToWideChar might not recognize a sequence that the application using IsDBCSLeadByte reports as a lead byte. The application can easily become unsynchronized with the results of MultiByteToWideChar, potentially leading to unexpected errors or buffer size mismatches.
 
In general, instead of attempting low-level manipulation of code page data, applications should use MultiByteToWideChar to convert the data to UTF-16 and work with it in that encoding.

Lead byte values are specific to each distinct DBCS. Some byte values can appear in a single code page as both the lead and trail byte of a DBCS character.

To make sense of a DBCS string, an application normally starts at the beginning of a string and scans forward, keeping track when it encounters a lead byte, and treating the next byte as the trailing part of the same character. If the application must back up, it should use CharPrev instead of attempting to develop its own algorithm.

Requirements

Requirement Value
Minimum supported client Windows 2000 Professional [desktop apps | UWP apps]
Minimum supported server Windows 2000 Server [desktop apps | UWP apps]
Target Platform Windows
Header winnls.h (include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also

IsDBCSLeadByteEx

MultiByteToWideChar

Unicode and Character Set Functions

Unicode and Character Sets