我正在编写一个应用程序,目前正在使用 libcurl。当我为 Ansi 字符集实现 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* 缓冲区中获取数据(根据 curl,第一个参数是 void*),我不想知道如何添加 Ansi数据放入 Unicode 缓冲区。
谢谢!
最佳答案
基本上,它与 curl
无关,您面临着将 utf-8
转换为宽字符串的问题。您可以使用类似 Glib::ustring
类的东西或自己实现它,或者查看 this code .
关于c++ - LibCurl Unicode 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1372554/