unicode转字符问题

天祈 2013-03-29 05:09:05
小弟是由于做第三方整合现在协议里有段unicode码需要用C++转成字符,但属于以前是C#所以对C++不熟悉,请过路人赐教,unicode码为//u89C6//u9891//u901A//u9053//u0043//u0061//u006D//u0065//u0072//u0031
...全文
155 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
DevLiao 2013-07-22
  • 打赏
  • 举报
回复
unicode为多字节。 1 先将unicode的字符转为ansi单字节(比如CStringW(unicode)转为CStringA(ANSI))。 CStrW2CStrA 2 将CStringA转char/string。 自己百度。太多了。
天祈 2013-03-29
  • 打赏
  • 举报
回复
static wstring unicode2string(char * str) { wstring rst; int len = strlen(str); int intHex; char tmp[5]; memset(tmp, 0, 5); for (int i = 0; i < len; i++) { char c = str[i]; switch (c) { case '//': case '%': break; case 'u': case 'U': memcpy(tmp, str+i+1, 4); sscanf(tmp, "%x", &intHex); //把16进制字符转换为数字 rst.push_back(intHex); i+=4; break; default: break; } } return rst; }

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧