2

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

我想知道在 VC++ 中转换 MBCS 和 UTF-8 的最佳方式是什么?

谢谢大家。

4

3 回答 3

3

调用MultiByteToWideChar将您的字符串转换为 unicode,然后调用WideCharToMultiByte将 unicode 转换为 UTF-8。把过程倒过来走另一条路,

于 2008-12-17T15:52:53.367 回答
2

你可以试试wcstombs / mbstowcs

于 2008-12-17T15:49:20.270 回答
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.
于 2008-12-17T16:25:10.043 回答