API函数IsDBCSLeadByte

      IsDBCSLeadByte判断某字节是否在双字节字符集(例如汉字)的前导字节集中(GB   2312-80)   汉字编码中的第一个字节。DBCS:双字节字符集。

      BOOL   IsDBCSLeadByteTRUE(BYTE   bTestChar);   如果该字节是DBCS   字符的第一个字节,则返回   TRUE。

      IsDBCSLeadByte函数用于用于判断一个字符是不是多字节字符,如果是返回一个非零数,如果不是返回零,利用它可以对字符串进行处理。

下面用此函数提取汉字。

    IsDBCSLeadByte只是判断一个指定字节是否为一个双字节字符的头一个字符,而汉字的高字节和低字节都是大于0x80的,所以没什么区别。。。故都返回真。

    对于你的程序来说,用IsDBCSLeadByte依此判断字符串内容,只要某个字节返回真,则接下来的一个字节肯定为某个双字节字符的第二个字节。 
    这时,若某行字符串加上这两个字节的长度大于换行允许的长度,则应提前换行,该两个字节在下一行显示。

     要准确判断是否是汉字的第一个字节,需要详细了解汉字编码,光靠这个api是不行的。

展开阅读全文

没有更多推荐了,返回首页