我之前问过类似的问题。 但我仍然在使用C++编码时遇到麻烦。 我尝试尽可能地描述问题。在C++中使用正确的编码获取字符串
我有一个C++客户端,通过TCP与c#服务进行通信。 现在我需要在消息框(Win32 API)中显示服务中的消息。 由c#服务发送的字节是UTF-8编码的。
重要的是要知道,C++客户端将只能在Windows系统上运行。
这是接收的字节数和显示文本的代码:如果文本包含像UAO chatacters
char buffer[1024];
int receivedBytes = recv(socketHandle, buffer, sizeof(buffer) - 1, 0);
char str[receivedBytes];
for (int index = 0; index < receivedBytes; index++)
{
str[index] = buffer[index];
}
MessageBox(mainWindow, (LPCTSTR)str, (LPCTSTR) "Fehler", MB_OK|MB_ICONERROR);
,他们不是在MessageBox中所示的正确方法。 我能做些什么来接收消息作为UTF-8字符串在c + +? 是否有可能将char []转换为UTF-8字符串?
THX帮助
托比
这里确实存在两个问题:如何处理tcp连接中的utf8字符串?以及如何处理winapi的utf8字符串? – didierc
也许是因为你似乎没有在任何地方设置结果? –
也许这个问题将有所帮助:http://stackoverflow.com/questions/504779/winapi-and-utf-8-support – didierc