微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

jsoncpp修改支持中文

找到该方法codePointToUTF8

往里面增加以下判断

需要增加字符转换则自己加上.

我另外加上了罗马数字 转换

旧版本中访问不存在的元素的时候会崩溃,最新版则抛异常

release版本的时候 优化选项要禁用,否则不会捕捉到异常


//

else if ((cp >= 0x2E80 && cp <= 0xA4CF) || (cp >= 0xF900 && cp <= 0xFAFF) || (cp >= 0xFE30 && cp <= 0xFE4F) || (cp >= 0xFF00 && cp <= 0xFFEF) || (cp >= 0x2160 && cp <= 0x2169)) { wchar_t src[2] = L""; char dest[5] = ""; 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()); }

原文地址:https://www.jb51.cc/json/288800.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐