首页 > 代码库 > [C++]_[获取Utf8字符串的字符个数和获取n个连续字符]
[C++]_[获取Utf8字符串的字符个数和获取n个连续字符]
场景:
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; }
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。