我正在嘗試使用WinInet庫以UTF-8編碼讀取網頁。將多字節字符串轉換爲widechar's會產生意想不到的結果
下面是我的一些代碼:
HINTERNET hUrl = ::InternetOpenUrl(hInet, wurl.c_str(),NULL,NULL,NULL,NULL);
CHAR buffer[65536];
std::wstring full_content;
std::wstring read_content;
DWORD number_of_bytes_read=1;
while(number_of_bytes_read)
{
::InternetReadFile(hUrl, buffer, 65536, &number_of_bytes_read);
// ::InternetReadFileExW(hUrl, &buffersw, IRF_SYNC,NULL);
//((hUrl,buffer,65536,&number_of_bytes_read);
read_content.resize(number_of_bytes_read);
::MultiByteToWideChar(CP_ACP,MB_COMPOSITE,
&buffer[0],number_of_bytes_read,
&read_content[0],number_of_bytes_read);
full_content.append(read_content);
//readed_content.append(buffer,number_of_bytes_read);
}
我正確地看英文符號,但不是俄羅斯的符號我看到一個垃圾桶。它會是什麼?
在此先感謝。
http://msdn.microsoft.com/en-us/library/windows/desktop/aa384322%28v=vs.85%29.aspx –