Details
-
Improvement
-
Status: Accepted
-
Minor
-
Resolution: Unresolved
-
None
-
None
-
None
-
Windows 10
Description
The most correct C++ type for UTF-16 data is std::u16string, but due to a known bug in MSVC, the std::codecvt_utf8_utf16 converter cannot be used with char16_t / u16string types, so we must use wchar_t / wstring types for now.
I am deeply sorry for the statement I made about the availability of this fix. This is not fixed in Visual Studio 2017.
This issue requires a binary breaking change to the VC++ libraries, so we cannot ship this fix in an update to the libraries. Visual Studio 2017 shipped with v141 of the libraries, which is a minor update and binary compatible with v140 (the version shipped with Visual Studio 2015).
This bug will be fixed in the next major version of the Visual C++ Libraries.
Thanks,
Steve Wishnousky
Software Engineer II - Visual C++ Libraries
stwish@microsoft.com