• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Преобразовние Utf-16 <=> Utf-8

  • Автор темы Автор темы Nek
  • Дата начала Дата начала
N

Nek

Вопрос казалось бы простой, но нормально ответа на него я пока не нашел. Нужно вывести строчку юникода(UTF-16) в файл с изменением кодировки. Знаю что можно при при wofstream::imbue задать вывод в win-1251 и cp-866. Но как сделть преобразование из utf-16 в utf-8 я найти не могу. Поэтому прошу вашей помощи. Желательно что нибудь кроссплатформенное, поэтому MultiByteToWideChar() не предлагать. Если можно то неотвечайте в стиле: "гугли .." и "смотри ..", а дайте конкретный пример.Благодарю за внимание.
 
Теоретически это можно сделать функцией wctomb, но перед этим вызвать что-то типа setlocale(LC_ALL, ".utf-8")
Как оно на практике - ХЗ.

Второй вариант - произвести трансформацию руками, просто перекидывая биты. Нужно просто посмотреть как устроены UTF-16/8

Третий вариант - использовать libiconv, который кроссплатформенный.
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab