Как использовать Unicode (UTF-8) в C++ [дубликат]

10
задан Community 23 May 2017 в 10:29
поделиться

5 ответов

Текущий C ++ никоим образом не определяет кодировку. Вы можете заглянуть в настоящую библиотеку Unicode, такую ​​как ICU, или, в некоторых архитектурах и реализациях , вы можете использовать wchar_t для управления и хранения строк Unicode.

Изменить: этот ответ относился к C ++ 03. Как уже отмечалось, это больше не применяется.

6
ответ дан 3 December 2019 в 22:35
поделиться

Это скорее зависит от того, что вы хотите делать с обрабатываемым текстом. Половина смысла UTF-8 заключается в том, что вам не нужно изменять существующий код, если он обрабатывает 8-битные символы и не делает ничего особенного с символами выше 128. Конечно, strlen - это длина в байтах, а не символ или код. подсчет баллов. Так что, возможно, у вас есть программа для ввода текста и вывода текста, которая может напрямую использовать UTF-8. Или может случиться так, что вы создаете графический интерфейс в тексте и вам нужно обрабатывать текст Ruby и RTL, и в этом случае ваша работа намного сложнее, и вам, вероятно, придется выбрать подходящие библиотеки.

3
ответ дан 3 December 2019 в 22:35
поделиться

Зависит от версии C++, которую вы используете. C++0x (еще не полностью выпущенный, но все еще поддерживаемый многими компиляторами) добавляет в язык встроенную поддержку UTF-8. В противном случае, язык не поддерживает UTF-8. C++03 и более ранние версии поддерживают юникод через использование широких символов (wchar_t).

1
ответ дан 3 December 2019 в 22:35
поделиться

Если вы используете Visual Studio, войдите в свойства проекта и определите препроцессор, поскольку _UNICODE выполнит эту работу за вас.

-4
ответ дан 3 December 2019 в 22:35
поделиться
Другие вопросы по тегам:

Похожие вопросы: