iconv - POSIX, . iconv_open, , UTF-8 UTF-16. , , iconv_open, iconv ( ). , iconv_close , iconv_open, ..
, iconv (.. iconv_open). , iconv "utf-8", "UTF8" ..
Windows iconv UTF: MultiByteToWideChar WideCharToMultiByte.
std::string input = ...
int utf16len = MultiByteToWideChar(CP_UTF8, 0, input.c_str(), input.size(),
NULL, 0);
std::wstring output(utf16len);
MultiByteToWideChar(CP_UTF8, 0, input.c_str(), input.size(),
&output[0], output.size());
std::wstring input = ...
int utf8len = WideCharToMultiByte(CP_UTF8, 0, input.c_str(), input.size(),
NULL, 0, NULL, NULL);
std::string output(utf8len);
WideCharToMultiByte(CP_UTF8, 0, input.c_str(), input.size(),
&output[0], output.size(), NULL, NULL);