我正在使用Visual C ++(VS2005)并在多字节字符集(MBCS)中编译项目。但是,程序需要通过XMLRPC与webapp(在utf-8中)进行通信。所以我想也许我可以在内部使用MBCS并将字符串转换为utf-8,然后再将它们发送到xmlrpc模块并在从webapi接收后将它们转换回MBCS。
我想知道在VC ++中用MBCS和UTF-8进行转换的最佳方法是什么?
谢谢大家。
答案 0 :(得分:3)
调用MultiByteToWideChar将您的字符串转换为unicode,然后调用WideCharToMultiByte将unicode转换为UTF-8。将过程反转到另一个方向,
答案 1 :(得分:2)
答案 2 :(得分:1)
您也可以使用CT2A并传递CP_UTF8作为代码页,例如:
CT2A pszUTF8(_T("My DBCS string"), CP_UTF8);
// pszUTF8.m_psz contains the UTF8 string.
再次回去:
CA2T pszT(_T("My UTF8 string"), CP_UTF8);
// pszT.m_psz contains the TCHAR string.