代码之家  ›  专栏  ›  技术社区  ›  Charles

libcurl Unicode数据

  •  1
  • Charles  · 技术社区  · 15 年前

    我正在编写一个应用程序,目前正在使用libcurl。libcurl回调函数在我为ansi字符集实现它时工作正常,但在使用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*根据curl),我不想知道如何将ansi数据添加到unicode缓冲区中。

    谢谢!

    1 回复  |  直到 15 年前
        1
  •  2
  •   Michael Krelin - hacker    15 年前

    基本上,这与 curl 你面临着转换的问题 utf-8 到宽字符串。你可以用类似的东西 Glib::ustring 类或单独实现它,或查看 this code .