这样知道字符串中的某个字符是不是汉字? 例如:CString sz;sz = "...cd汉字字符...";sz为不定长字符串,怎样某一个字符(比如第9个)是不是汉字 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果只有英文ASCII码和汉字,可以看高位是否为1;即sz[i] & 0x80 搜索一下关键字---VB 汉字----我见过人家在VB下通过校验GB编码,来判断该字符是否为汉字,楼上的方法对UNICODE编码可能失效(没试过,猜测而已) 可以使用函数_ismbcslead和_ismbcstrail.或者自己判断,连续2个字节大于0xA0就是汉字。 汉字是双字节的,而且有一固定的范围,下面给你一个判断是否为汉字的小程序,参数是两个相邻的字节bool IsHZCode(unsigned char bC1, unsigned char bC2){ if ((bC1 >= 0xa1)&&(bC1 <= 0xfe)&& (bC2 >= 0xa1)&&(bC2 <= 0xfe)) return true; else return false;}返回 true 表明是汉字,否则,不是, 汉字是双字节的,而且有一固定的范围,下面给你一个判断是否为汉字的小程序,参数是两个相邻的字节bool IsHZCode(unsigned char bC1, unsigned char bC2){ if ((bC1 >= 0xa1)&&(bC1 <= 0xfe)&& (bC2 >= 0xa1)&&(bC2 <= 0xfe)) return true; else return false;}返回 true 表明是汉字,否则,不是, 简体中文汉字GB码的两个字节的编码范围应该是...c1 >= 0xA1 && c1 <= 0xF7;c2 >= 0xA1 && c2 <= 0xFE;繁体中文汉字BIG5码的两个字节的编码范围应该是...c1 >= 0xa1 && c1 <= 0xfa;c2 >= 0x40 && c2 <= 0xff;所以简体中文GB码判断程序应该是:bool IsHZCode(unsigned char bC1, unsigned char bC2){ if ((bC1 >= 0xa1)&&(bC1 <= 0xf7)&&(bC2 >= 0xa1)&&(bC2 <= 0xfe)) return true; else return false;} vim编辑c代码的问题 论坛积分到底有啥用? 两张纹理相似的图像,怎么进行区分? VC++工程源代码尽快做成dll工程?? 在代码中加入如下代码,就出现错误,具体请看。有关于鼠标MOUSELEAVE的处理 如何把CListCtrl中选中的项目清零? 使用SafeArray不用犯愁了。 如何捕获视图文档的图形对象属性?请教了!! 问题简单分数高 任何让一个变量只初始化一次。。。 求助:类的相互调用 我工作了九个月,现在想跳槽,想听听大家的意见!!来者有分
即sz[i] & 0x80
我见过人家在VB下通过校验GB编码,来判断该字符是否为汉字,
楼上的方法对UNICODE编码可能失效(没试过,猜测而已)
或者自己判断,连续2个字节大于0xA0就是汉字。
{
if ((bC1 >= 0xa1)&&(bC1 <= 0xfe)&&
(bC2 >= 0xa1)&&(bC2 <= 0xfe))
return true;
else
return false;
}
返回 true 表明是汉字,否则,不是,
{
if ((bC1 >= 0xa1)&&(bC1 <= 0xfe)&&
(bC2 >= 0xa1)&&(bC2 <= 0xfe))
return true;
else
return false;
}
返回 true 表明是汉字,否则,不是,
c1 >= 0xA1 && c1 <= 0xF7;
c2 >= 0xA1 && c2 <= 0xFE;繁体中文汉字BIG5码的两个字节的编码范围应该是...
c1 >= 0xa1 && c1 <= 0xfa;
c2 >= 0x40 && c2 <= 0xff;所以简体中文GB码判断程序应该是:
bool IsHZCode(unsigned char bC1, unsigned char bC2)
{
if ((bC1 >= 0xa1)&&(bC1 <= 0xf7)&&(bC2 >= 0xa1)&&(bC2 <= 0xfe))
return true;
else
return false;
}