Форум сайта python.su
Нужен код, возвращающий символ юникода по его номеру.
Так не получается:
>>> a = unicode('\u%d'%3065)
>>> a
u'\\u3065'
#Питон экранирует бэкслэш вторым, и корректно обработать escape-последовательность не получается.
>>> a = u'\u'+u'3065'
SyntaxError: (unicode error) ‘unicodeescape’ codec can't decode bytes in position 0-1: end of string in escape sequence
>>> a = unicode('\u'+'3065')
>>> a
u'\\u3065'
Офлайн
>>> u'%c' % 3065 u'\u0bf9' >>> u'%c' % 0x3065 u'\u3065'
Офлайн
reclosedevСпасибо за ответ. %c предназначена для вставки символа юникода с данным номером?>>> u'%c' % 3065 u'\u0bf9' >>> u'%c' % 0x3065 u'\u3065'
Отредактировано FronSTAN (Июнь 22, 2012 16:59:36)
Офлайн
в начале файла добавь
# -*- coding: utf-8 -*-
и проверь чтоб сам файл был в utf8
Офлайн
FronSTANНеобязательно Юникод, можно и ASCII и отдельные буквы.
%c предназначена для вставки символа юникода с данным номером?
FronSTANЭто проблема консоли Windows с ее cp866
интерпретатор выдает ошибку:
>>> unichr(0x3065) u'\u3065'
Отредактировано reclosedev (Июнь 22, 2012 18:35:14)
Офлайн
reclosedevДа, видимо, не судьба мне вывести юникод-символы. Создание переменной среды не помогает.
Это проблема консоли Windows с ее cp866
Офлайн