This worked for me in VS2017:
std::wstring utf8_to_utf16(std::string utf8_string)
{
return std::wstring_convert, wchar_t>{}.from_bytes(utf8_string);
}
std::string utf16_to_utf8(std::wstring utf16_string)
{
return std::wstring_convert, wchar_t>{}.to_bytes(utf16_string);
}