IsDBCSLeadByte 函数 (winnls.h)

确定指定字符是否是系统默认 Windows ANSI 代码页的前导字节, (CP_ACP) 。 前导字节是代码页的 DBCS) (双字节字符集中的双字节字符 的第一个字节。

注意 若要使用不同的代码页,应用程序应使用 IsDBCSLeadByteEx 函数。
 

语法

BOOL IsDBCSLeadByte(
  [in] BYTE TestChar
);

参数

[in] TestChar

要测试的字符。

返回值

如果测试字符可能是前导字节,则返回非零值。 如果测试字符不是前导字节,或者它是单字节字符,则函数返回 0。 若要获取扩展错误信息,应用程序可以调用 GetLastError

注解

注意 此函数不验证跟踪字节是否存在或有效性。 因此, MultiByteToWideChar 可能无法识别使用 IsDBCSLeadByte 的应用程序报告为前导字节的序列。 应用程序很容易与 MultiByteToWideChar 的结果不同步,这可能会导致意外错误或缓冲区大小不匹配。
 
通常,应用程序应使用 MultiByteToWideChar 将数据转换为 UTF-16 并使用该编码,而不是尝试对代码页数据进行低级别操作。

前导字节值特定于每个不同的 DBCS。 某些字节值可以同时作为 DBCS 字符的前导字节和尾随字节显示在单个代码页中。

为了理解 DBCS 字符串,应用程序通常从字符串的开头开始,向前扫描,跟踪它何时遇到前导字节,并将下一个字节视为同一字符的尾随部分。 如果应用程序必须备份,则应使用 CharPrev ,而不是尝试开发自己的算法。

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 winnls.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

IsDBCSLeadByteEx

MultiByteToWideChar

Unicode 和字符集函数

Unicode 和字符集