std::wstring UTF8_To_UTF16(const std::string& source)
{
    unsigned long len = ::MultiByteToWideChar(CP_UTF8, NULL, source.c_str(), -1, NULL, NULL);    //::表示全局函数 不加:: 默认先调用类中的同名函数
    if(len == 0)
        return std::wstring();
    wchar_t *buffer = new wchar_t[len];
    ::MultiByteToWideChar(CP_UTF8, NULL, source.c_str(), -1, buffer, len);   

    std::wstring dest(buffer);
    delete[] buffer;
    return dest;
} 


std::wstring转为 std::string

std::string UTF16_To_UTF8(const std::wstring& source)
{
    unsigned long len = ::WideCharToMultiByte(CP_UTF8, NULL, source.c_str(), -1, NULL, NULL, NULL, NULL); //::表示全局
    if(0 == len)
    {
        return std::string();
    }

    char* buffer = new char[len];
    ::WideCharToMultiByte(CP_UTF8, NULL, source.c_str(), -1, buffer, len, NULL, NULL);
    std::string dest(buffer);
    delete[] buffer;
    return dest;

}

相关文章:

  • 2022-12-23
  • 2022-03-08
  • 2021-11-22
  • 2021-09-17
  • 2021-10-07
  • 2021-10-18
  • 2022-12-23
  • 2021-05-22
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-01-05
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案