- API函数IsDBCSLeadByte
-
IsDBCSLeadByte判断某字节是否在双字节字符集(例如汉字)的前导字节集中(GB 2312-80) 汉字编码中的第一个字节。DBCS:双字节字符集。
BOOL IsDBCSLeadByteTRUE(BYTE bTestChar); 如果该字节是DBCS 字符的第一个字节,则返回 TRUE。
IsDBCSLeadByte函数用于用于判断一个字符是不是多字节字符,如果是返回一个非零数,如果不是返回零,利用它可以对字符串进行处理。下面用此函数提取汉字。
IsDBCSLeadByte只是判断一个指定字节是否为一个双字节字符的头一个字符,而汉字的高字节和低字节都是大于0x80的,所以没什么区别。。。故都返回真。对于你的程序来说,用IsDBCSLeadByte依此判断字符串内容,只要某个字节返回真,则接下来的一个字节肯定为某个双字节字符的第二个字节。
这时,若某行字符串加上这两个字节的长度大于换行允许的长度,则应提前换行,该两个字节在下一行显示。要准确判断是否是汉字的第一个字节,需要详细了解汉字编码,光靠这个api是不行的。