其他分享
首页 > 其他分享> > 泡泡的学习小笔记之判断字符串含有多少中文字

泡泡的学习小笔记之判断字符串含有多少中文字

作者:互联网

判断一个字符串中,是否含有中文

int main()
{
	//待测字符串
    string str="iam泡泡哒哟,remember我";
    int i=0;//下标
    int conut=0;//中文数量计数
    while(str[i] != '\0')
    {
        if(str[i]&0x80)
        {
            if(str[++i] & 0x80)
                conut++;
        }
        i++;
    }
    cout << conut <<endl;
    return 0;
}

测试结果图
原理:
1、英文的 ASCII 码,其最高位为 0,占一个字节
注:英文的ASCII码范围是在0到127,二进制为(0000 0000 ~ 0111 1111)
2、中文的 ASCII 码,其最高位为 1。占两个字节,
注:两个字节的最高位都是1
由此拿每个字节的ASCII码跟最高位0x80(1000 0000)比较当有2个连续的字节大于0x80时,那么这两个字节合在一起为一个中文。

标签:泡泡,0000,字节,int,笔记,0x80,str,字符串,ASCII
来源: https://blog.csdn.net/weixin_53797265/article/details/111597019