首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C++中将MBCS流转换为UTF8,反之亦然

在C++中将MBCS流转换为UTF8,反之亦然
EN

Stack Overflow用户
提问于 2008-12-17 14:49:39
回答 3查看 4.2K关注 0票数 2

我正在使用Visual C++ (VS2005),并使用多字节字符集(MBCS)编译项目。但是,该程序需要通过XMLRPC与webapp (采用utf-8格式)通信。所以我想也许我可以在内部使用MBCS,将字符串转换为utf-8,然后将它们发送到xmlrpc模块,并在从webapi接收后将它们转换回MBCS。

我想知道在VC++中在MBCS和UTF-8之间进行转换的最好方法是什么?

谢谢大家。

EN

回答 3

Stack Overflow用户

发布于 2008-12-17 15:52:53

先调用MultiByteToWideChar将字符串转换为unicode,然后调用WideCharToMultiByte将unicode转换为UTF-8。颠倒这个过程去往另一个方向,

票数 3
EN

Stack Overflow用户

发布于 2008-12-17 15:49:20

您可以尝试使用wcstombs / mbstowcs

票数 2
EN

Stack Overflow用户

发布于 2008-12-17 16:25:10

您还可以使用CT2A并传递CP_UTF8作为代码页,例如:

代码语言:javascript
复制
CT2A pszUTF8(_T("My DBCS string"), CP_UTF8);
// pszUTF8.m_psz contains the UTF8 string.

要再次返回:

代码语言:javascript
复制
CA2T pszT(_T("My UTF8 string"), CP_UTF8);
// pszT.m_psz contains the TCHAR string.
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/374761

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档