关于MBCS的问题
各位大侠,贫僧有理了
MBCS中有些字符是一个字节大小,有些字符是两个字节大小,据称也有超过两个的偏僻字符(这个且不去考虑)
MBCS中最常见的实现就是DBCS,也就是顶多使用两个字节表示一个字符。前一个字节为leading byte,后一个称为trailing byte。
有些函数可以判断一个字节是否leading byte(因为如果你的指针指向trailing byte的话,常常会带来非预期的运行结果^_^,相信各位深有体会)。这些函数包括:IsDBCSLeadByte/IsDBCSLeadByteEx,isleadbyte/_istleadbyte等。
问题来了,我使用IsDBCSLeadByte/IsDBCSLeadByteEx的时候,无论是leading byte还是trailing byte都会返回true,而在使用isleadbyte/_istleadbyte的时候无论任何情况下都返回0。 贫僧我很不解啊? 哪位高人来指点一下这是为何啊?