c++ 如何转换UTF8编码??

例如我知道charbuffer[100]是UTF编码的,,怎样转换为UTF8??... 例如我知道char buffer[100]是UTF编码的,,怎样转换为UTF8?? 展开
 我来答
慎重还可靠灬宝贝f
推荐于2017-09-12 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:2625万
展开全部
普通sting类型 转UTF-8编码格式字符串std::string ofDewarServer::string_To_UTF8(const std::string & str)
{
int nwLen = ::MultiByteToWideChar(CP_ACP, 0, str.c_str(), -1, NULL, 0);

wchar_t * pwBuf = new wchar_t[nwLen + 1];//一定要加1,不然会出现尾巴
ZeroMemory(pwBuf, nwLen * 2 + 2);

::MultiByteToWideChar(CP_ACP, 0, str.c_str(), str.length(), pwBuf, nwLen);

int nLen = ::WideCharToMultiByte(CP_UTF8, 0, pwBuf, -1, NULL, NULL, NULL, NULL);

char * pBuf = new char[nLen + 1];
ZeroMemory(pBuf, nLen + 1);

::WideCharToMultiByte(CP_UTF8, 0, pwBuf, nwLen, pBuf, nLen, NULL, NULL);

std::string retStr(pBuf);

delete []pwBuf;
delete []pBuf;

pwBuf = NULL;
pBuf = NULL;

return retStr;
}
ycsxm
推荐于2017-09-30 · TA获得超过3.3万个赞
知道大有可为答主
回答量:1.4万
采纳率:0%
帮助的人:7948万
展开全部
百度上可以搜到UTF8的编码原理,掌握后你就可结合所掌握的C语言编出程序;
UTF8的编程原理,自已搜一下,不复杂。
也可搜到现成的程序,但你肯定看不懂源程序,所以,你第一步就去了解UTF8
的编码原理。
追问
初学C++,,发现什么都要自己编写- -~不像C#那样,微软都帮你封装起来。
追答
你说的是标准C++,不可能有这乱七八糟的库函数,
一般大型C++也会大量的封装库的,如VC++,C++BUILDER,
再查查WINDOWS API有没有提供UTF8函数,有什么问题
一搜就行了。自已编,也很简单,不就是“位运算”嘛。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式