2012-06-25 4 views
4

В настоящее время я пишу игру для 2-игрового шахматиста для терминала, и я хотел бы иметь возможность печатать фактические символы Юникода для фрагментов (например, http://en.wikipedia.org/wiki/Rook_(chess)#Unicode). Как можно было бы печатать фактические представления unicode в python 3 вместо escape-символов? требуется ли изменить кодировку терминала (в первую очередь я использую окна и linux), и может ли это быть сделано системным вызовом самой программы?печатать символы Юникода в терминале с помощью python 3

+0

это может помочь http://stackoverflow.com/questions/507123/python-3-0-how-to-make-print-output-unicode –

+0

Имея ничего, кроме линии печати и ASCII, что делает его работа в терминалах Windows и Linux-терминалах нуждается в библиотеке. UniCurses - это библиотека Python, которая обертывает curses/PDCurses. Я не использовал его, но, возможно, стоит попробовать. –

+0

См. Также: http://stackoverflow.com/a/30505612/788700 – Adobe

ответ

4

Err ... напечатать их ...

3>> print('♔♕♖') 
♔♕♖ 

Windows, вероятно, понадобится chcp 65001 перед запуском сценария.

+0

После выполнения 'chcp 65001' Я получаю эту ошибку при попытке запуска Python:« Fatal Python error: Py_Initialize: невозможно инициализировать стандартные потоки sys LookupError : неизвестная кодировка: cp65001 " –

+0

Тогда это проблема с этой конкретной установкой Python. –

+1

похоже, что это будет программа только для Linux. Терминал Windows кажется очень четким с nonasci, я даже не могу повторить эти символы в терминале после того, как я перейду на 65001, он просто выходит. Спасибо за ваш ввод –

3

Python 3 не нуждается ни в чем дополнительном для этого, просто используйте print().

>>> print('القاموس العربي') 
القاموس العربي 
Смежные вопросы