2

Visual C++ (VS2005) を使用しており、プロジェクトをマルチバイト文字セット (MBCS) でコンパイルしています。ただし、プログラムは XMLRPC 経由で (utf-8 の) webapp と通信する必要があります。したがって、内部で MBCS を使用し、文字列を xmlrpc モジュールに送信する前に文字列を utf-8 に変換し、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 に答える