1
我正在編寫一個應用程序,目前我正在使用libcurl。當我爲Ansi字符集實現它時,libcurl回調函數可以正常工作,但在處理Unicode字符時無法使用它。LibCurl Unicode數據
int CURLConnectorAnsi::BufferWriter(char* data, size_t size, size_t nmemb, std::string* buffer)
{
int ReadBytes = 0;
if (buffer != NULL)
{
buffer->append(data, size * nmemb);
ReadBytes = size * nmemb;
}
return ReadBytes;
}
這段代碼正常工作,並返回我讀過的網站的內容。有誰知道我可以如何正確地將數據傳遞給wstring而不是字符串?
編輯:我試圖設法得到正確的wchar_t *緩衝區中的數據,而不是(字符緩衝區的第一個參數是void *根據捲曲),我不想知道如何添加Ansi將數據轉換爲Unicode緩衝區。
謝謝!
這不是轉換這是我的問題,它首先接收數據;第一個參數是一個void *,可以投入任何東西;但是這隻適用於char *。 – Charles
不,它*是*轉換。您會收到字節流,這些字節流可能使用「UTF-8」進行編碼(實際上取決於服務器,您可以在HTTP頭中找到這些信息)。你不能只是施放指針來改變數據,你需要轉換它。 –
工作順利,謝謝! – Charles