[C++]_[获取Utf8字符串的字符个数和子字符串]

来源:互联网 发布:高价回收域名的事例 编辑:程序博客网 时间:2024/05/01 22:57


场景:

1.有时候需要统计utf8字符串的个数,单纯统计字节个数是不行的。

2.有时候也需要获取从某个位置开始的n个连续字符用于显示或计算。


static int GetUtf8LetterNumber(const char *s){    int i = 0, j = 0;    while (s[i])    {        if ((s[i] & 0xc0) != 0x80) j++;        i++;    }    return j;}static int GetUtf8Word(const char *s,int wantedNum,int& offset){    int i = 0, j = 0;        int readedNum = 0;    int isReach = 0;    while (s[i])    {        if ((s[i] & 0xc0) != 0x80)        {            if(isReach)            {                break;            }            ++j;            readedNum = j;            if(j == wantedNum)            {                isReach = 1;            }                    }        ++i;    }    offset = i;    return readedNum;}


0 0
原创粉丝点击