求教一个问题,c++问题。

问题描述: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个字节,不知道为什么