IsDBCSLeadByte 检测指定的一个字节是否是一个前导字节,也就是双字节字符的低字节BOOL IsDBCSLeadByte( BYTE TestChar // character to test ); Parameters TestChar [in] Specifies the byte to be tested. Return Values 如果该字节是一个前导字节,返回非0。 如果该字节不是前导字节或者是一个单字节字符,那么返回0。遍历一下字符串,对每个字节判断,非0,说明是全角字符的第一个字节,那么紧跟其后的字节就不用测试了.跳过一个字节继续判断就可以了
可以看出要判断它是否为半角是容易的,
因为0-9的ascii码是0x30-0x39,依次判断即可,是否在此范围内
(c-0x30)>=0 && (c-0x30)<=9
检测指定的一个字节是否是一个前导字节,也就是双字节字符的低字节BOOL IsDBCSLeadByte(
BYTE TestChar // character to test
);
Parameters
TestChar
[in] Specifies the byte to be tested.
Return Values
如果该字节是一个前导字节,返回非0。
如果该字节不是前导字节或者是一个单字节字符,那么返回0。遍历一下字符串,对每个字节判断,非0,说明是全角字符的第一个字节,那么紧跟其后的字节就不用测试了.跳过一个字节继续判断就可以了