Как я могу отобразить unicode символы в терминале Linux, использующем C++?

Хорошим курсом Python является MIT А Нежное Введение в Программирование Используя Python . Это все бесплатно онлайн, и Вы не должны быть MIT uberstudent для понимания его.

Редактирование [ Justin Standard ]

Этот курс использует эту бесплатную онлайн книгу: , Как Думать Как Программист
, я определенно нахожу его довольно полезным.

6
задан Lipis 25 November 2009 в 18:37
поделиться

2 ответа

Для вывода символов Unicode вы просто используете потоки вывода, точно так же, как вы выводите символы ASCII. Вы можете сохранить кодовую точку Unicode как многосимвольную строку:

 std::string str = "\u265E";
 std::cout << str << std::endl;

Также может быть удобно использовать вывод широких символов, если вы хотите вывести один символ Unicode с кодовой точкой выше диапазона ASCII:

 setlocale(LC_ALL, "en_US.UTF-8");
 wchar_t codepoint = 0x265E;
 std::wcout << codepoint << std::endl;

Однако, как и другие отметили, что правильность этого отображения зависит от множества факторов в среде пользователя, например, поддерживает ли терминал пользователя отображение Unicode, установлены ли у пользователя правильные шрифты и т. д. Это не должно быть проблема для большинства стандартных дистрибутивов, таких как Ubuntu / Debian с установленным Gnome, но не ожидайте, что он будет работать везде.

5
ответ дан 16 December 2019 в 21:41
поделиться

Извините, сначала не понял ваш вопрос. Этот код печатает белого короля в терминале (проверено с KDE Konsole)

#include <iostream>

int main(int argc, char* argv[])
{
std::cout <<"\xe2\x99\x94"<<std::endl;
return 0;
}

Обычно кодировка указывается через локаль. Попробуйте установить переменные среды.

Чтобы указать приложениям использовать Кодировка UTF-8 и при условии, что США Английский - ваш предпочтительный язык, вы можете использовать следующую команду:

 export LC_ALL = en_US.UTF-8

Вы используете "голый" терминал или что-то, работающее под X-Server?

3
ответ дан 16 December 2019 в 21:41
поделиться
Другие вопросы по тегам:

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