加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos2d-x 3.2 在window平台vs2012下解决中文乱码问题

发布时间:2020-12-14 21:32:27 所属栏目:百科 来源:网络整理
导读:void WStrToUTF8(std::stringdest, const std::wstringsrc){ dest.clear(); for ( size_t i=0;isrc.size();i++){ wchar_t w=src[i]; if (w=0x7f) dest.push_back(( char )w); else if (w=0x7ff) { dest.push_back(0xc0|((w6)0x1f)); dest.push_back(0x80|(w0
  1. voidWStrToUTF8(std::string&dest,conststd::wstring&src){
  2. dest.clear();
  3. for(size_ti=0;i<src.size();i++){
  4. wchar_tw=src[i];
  5. if(w<=0x7f)
  6. dest.push_back((char)w);
  7. elseif(w<=0x7ff)
  8. {
  9. dest.push_back(0xc0|((w>>6)&0x1f));
  10. dest.push_back(0x80|(w&0x3f));
  11. }
  12. if(w<=0xffff)
  13. {
  14. dest.push_back(0xe0|((w>>12)&0x0f));
  15. dest.push_back(0x80|((w>>6)&0x3f));
  16. if(sizeof(wchar_t)>2&&w<=0x10ffff)
  17. dest.push_back(0xf0|((w>>18)&0x07));//wchar_t4-bytessituation
  18. dest.push_back(0x80|((w>>12)&0x3f));
  19. dest.push_back(0x80|((w>>6)&0x3f));
  20. dest.push_back(0x80|(w&0x3f));
  21. }
  22. else
  23. dest.push_back('?');
  24. //!simplewarpper
  25. std::stringWStrToUTF8(conststd::wstring&str)
  26. std::stringresult;
  27. WStrToUTF8(result,str);
  28. returnresult;
  29. }
  30. 注意之前要添加类名哟。其他就跟源码是一样的了,希望对大家有所帮助,因为笔者当时就纠结于此。。。。。。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读