teralph2d
@teralph2d

В каких случаях лучше использовать wchar_t, char16_t, char32_t вместо char в C++?

Почитал, но так и до конца не понял.
Стандарт C++20.
  • Вопрос задан
  • 517 просмотров
Решения вопроса 1
В тех случаях, когда ты хочешь использовать UTF-16LE, UTF-16 или UTF-32 соответственно.
Если хочешь использовать восьмибитную кодировку или UTF-8, то бери char или char8_t, последний сделан специально для UTF-8
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@res2001
Developer, ex-admin
Под виндой лучше всегда использовать wchar_t, т.к. ядро винды внутри себя использует wchar_t для строк. Все функции WinAPI, принимающие строки как char* - просто конвертируют их в wchar_t и вызывают соответствующую функцию для широких символов. Так что в целях некоторой оптимизации лучше сразу использовать wchar_t.
В линуксе сейчас уже повсеместно UTF8. Разве что вам придется писать для старых ядер/дистрибутивов.
Другие типы - тогда когда будете работать с данными в соответствующих кодировках.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 03:54
1500 руб./за проект
22 нояб. 2024, в 02:56
10000 руб./за проект
22 нояб. 2024, в 00:55
500 руб./за проект