JsonCpp中文unicode编码问题

分享到:
  来源:急速科技  发布时间:2013-07-23  浏览次数:8164

  JSONCPP

用JsonCpp解析C++中文unicode编码,转换问题,今天找打了一种解决办法

这个问题画了不少时间,贴出来供大家参考

在json_reader.cpp中找到codePointToUTF8函数,添加部分代码就行~

 else if (cp <= 0xFFFF) 
   {
  if(cp>=0x4E00 && cp<=0x9FA5 || (cp>=0xF900 && cp<=0xFA2D))
  {
  wchar_t src[2]={0};
  char dest[5]={0};
  src[0]=static_cast<wchar_t>(cp);
  std::string curLocale=setlocale(LC_ALL,NULL);
  setlocale(LC_ALL,"chs");
  wcstombs_s(NULL,dest,5,src,2);
  result=dest;
  setlocale(LC_ALL,curLocale.c_str());
 
 
  }else{
      result.resize(3);
      result[2] = static_cast<char>(0x80 | (0x3f & cp));
      result[1] = 0x80 | static_cast<char>((0x3f & (cp >> 6)));
      result[0] = 0xE0 | static_cast<char>((0xf & (cp >> 12)));
  }
   }

摘自:http://blog.csdn.net/harrycris/article/details/7733386

 

知识文章分类

C/C++

阅读排行