首页 > 代码库 > COCOS2DX 代码中加入中文乱码简单解决办法
COCOS2DX 代码中加入中文乱码简单解决办法
void WStrToUTF8(std::string& dest, const std::wstring& src){ dest.clear(); for (size_t i = 0; i < src.size(); i++){ wchar_t w = src[i]; if (w <= 0x7f) dest.push_back((char)w); else if (w <= 0x7ff) { dest.push_back(0xc0 | ((w >> 6)& 0x1f)); dest.push_back(0x80| (w & 0x3f)); } else if (w <= 0xffff) { dest.push_back(0xe0 | ((w >> 12)& 0x0f)); dest.push_back(0x80| ((w >> 6) & 0x3f)); dest.push_back(0x80| (w & 0x3f)); } else if (sizeof(wchar_t) > 2 && w <= 0x10ffff) { dest.push_back(0xf0 | ((w >> 18)& 0x07)); // wchar_t 4-bytes situation dest.push_back(0x80| ((w >> 12) & 0x3f)); dest.push_back(0x80| ((w >> 6) & 0x3f)); dest.push_back(0x80| (w & 0x3f)); } else dest.push_back(‘?‘); } } std::string WStrToUTF8(const std::wstring& str) { std::string result; WStrToUTF8(result, str); return result; } std::string timeStr1 = WStrToUTF8(L"%d天%d小时");
COCOS2DX 代码中加入中文乱码简单解决办法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。