问题描述:windows 宽字符 为unsigned short 为2字节,传输到ios 上宽字节为4字节wchar_t.求解如何解析这个unsigned shor数组为utf8
类型,char*的?
不太清楚…小白一个…帮顶…
就是unsigned short ] 怎么才能转成utf8 string呢?
为什么没人咧?
//获取中文字符个数
float getStrLength(const std::string& str) {
float count;
int index = 0;
while (index < str.length()) {
if ((str & 0x80) != 0) {
//中文、中文标点等,算1个字
index += 3;
count += 1;
} else {
//英文、数字、英文标点等,算0.5个字
++index;
count += 0.5f;
}
}
return count;
}
安卓上我是这么判断的,IOS、windows不太清楚,需要测试一下
还有,安卓上utf8迷一样的3个字节,不知道为什么