`
huozheleisi
  • 浏览: 1234575 次
文章分类
社区版块
存档分类
最新评论

API函数IsDBCSLeadByte

 
阅读更多

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

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

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

下面用此函数提取汉字。

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

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

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

分享到:
评论

相关推荐

    Resource Hacker 4.2.5修正版(支持中文资源)

    主要是因为它在Unicode的程序里面使用了IsDBCSLeadByte函数的原因。 修改了一下,把这个函数的功能跳过去了,可以支持中文资源的编译(*.rc->*.res)。 如果刚开始不能编译,那是生成的.rc文件采用UTF-16编码,先转...

    VC++6.0核心编程源码.rar

    建立这样一个列表时存在的问题是,你可以调用一个Windows函数,但是该函数能够在内部调用另一个函数,而这另一个函数又可以调用另一个函数,如此类推。由于各种不同的原因,这些函数中的任何一个函数都可能运行失败...

    NT Locale Emulator Advance (中文名稱: NT全域通)

    IsDBCSLeadByte gdi32!EnumFontFamiliesExA gdi32!CreateFontIndirectA 增加自定义右键启动菜单的功能 增加指定预设字体的功能 0.52 beta 06.10.14 增加对user32!CreateWindowExA函数的挂钩 增加对user32!...

    易语言文本相似算法模块

    易语言文本相似算法模块源码,文本相似算法模块,Take_Text,Text_Compare,IsDBCSLeadByte

    cgetchars.rar

    获取字符串中的汉字。MBCS编码只是一种汉字的编码方式,还有很多种编码方式,例如使用比较国际话的uncoide编码,如果是uncoide编码就不能使用IsDBCSLeadByte方法来判断。

Global site tag (gtag.js) - Google Analytics