c++ 转换unicode字符串为js u格式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++ 转换unicode字符串为js u格式相关的知识,希望对你有一定的参考价值。
唯一注意的就是 大小端问题, PC基本是 LE
typedef union _uacode { struct { BYTE LowByte; BYTE HighByte; }DUMMYSTRUCTNAME; struct { BYTE LowByte; BYTE HighByte; } u; wchar_t ch; }UACODE; string Unicode2AnsiCode(wstring str) { const wchar_t *p = str.c_str(); UACODE ua; string sResult(str.length()*6+1,‘\0‘); char* pa = &sResult[0]; for(wstring::const_iterator it = str.begin();it!=str.end();it++) { ua.ch = *it; if(ua.HighByte) { sprintf_s(pa,7,"\\u%02x%02x",ua.HighByte,ua.LowByte); pa+=6; }else{ *pa = ua.LowByte; pa++; } } return sResult.c_str(); }
转换 "经常a中b"
string s = Unicode2AnsiCode(L"经常a中b"); printf("%s\n",s.c_str());
输出: \u7ecf\u5e38a\u4e2db
以上是关于c++ 转换unicode字符串为js u格式的主要内容,如果未能解决你的问题,请参考以下文章
如何在 C++ 中将字符的十进制代码转换为 Unicode 字符串?