Я пишу небольшое приложение, в котором я читаю текст с консоли, который затем сохраняется в классической строке char *.
Как это бывает, мне нужно передать его в библиотеку, которая принимает только строки в кодировке UTF-8 . Поскольку консоль Windows использует локальную кодировку, мне нужно преобразовать локальную кодировку в UTF-8.
Если я не ошибаюсь, я мог бы использовать MultiByteToWideChar (..) для кодирования в UTF-16, а затем использовать WideCharToMultiByte (. .) преобразовать в UTF-8.
Однако мне интересно, есть ли способ напрямую преобразовать из локальной кодировки в UTF-8 без использования каких-либо внешних библиотек, поскольку идея преобразования в wchar только для того, чтобы иметь возможность преобразовать обратно в char (кодировка utf-8, но все же) мне это кажется странным.