我之前問過類似的問題。 但我仍然在使用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