2016-04-05 2 views
0

Привет, я делаю простой пользовательский интерфейс Curses. У меня все работает. Я пытаюсь напечатать это █ в моем прогресс бар, но когда я я получаю эту ошибкуPython Curses UI печать Юникод

File "simple.py", line 100, in <module>                  │ 
│   main()                │ 
│   File "simple.py", line 55, in main       │ 
│   show_progress()  │ 
│   File "simple.py", line 83, in show_progress           │ 
│   win.addstr(1,pos,u"\u2588")   │ 
│UnicodeEncodeError: 'ascii' codec can't encode character u'\u2588' in position 0: ordinal not in range(128)  

Я знаю, что это ужасная ошибка, но это то, как она печатается

Вот код, который печатает его

win.addstr(1,pos,u"\u2588") 
+0

Какую версию Python вы используете? – snakecharmerb

+0

Я использую 2.7.10 – 112madgamer

ответ

1

Python 2 не понимает Unicode - это понимает только байты ...

Так порт Python3 (Easy, если вы не делаете программирования сети) или начать делать

bytes(unicode_string.encode('utf-8')) 

Всюду в вашем коде.

+0

Спасибо, что это сработало, я преобразовал код с 2to3, и он отлично работает – 112madgamer

Смежные вопросы