Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 22, 2012 14:08:47

FronSTAN
Зарегистрирован: 2012-06-21
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Отображение символов хираганы

Нужен код, возвращающий символ юникода по его номеру.

Так не получается:

>>> 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'

Офлайн

#2 Июнь 22, 2012 15:56:57

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Отображение символов хираганы

>>> u'%c' % 3065
u'\u0bf9'
>>> u'%c' % 0x3065
u'\u3065'

Офлайн

#3 Июнь 22, 2012 16:56:45

FronSTAN
Зарегистрирован: 2012-06-21
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Отображение символов хираганы

reclosedev
>>> u'%c' % 3065
u'\u0bf9'
>>> u'%c' % 0x3065
u'\u3065'
Спасибо за ответ. %c предназначена для вставки символа юникода с данным номером?
__
Стоит Python 2.7. В GUI это прокатывает, но в командной строке (и, соответственно, при исполнении скриптов) интерпретатор выдает ошибку:

Отредактировано FronSTAN (Июнь 22, 2012 16:59:36)

Офлайн

#4 Июнь 22, 2012 17:46:45

Piton23
От:
Зарегистрирован: 2011-10-17
Сообщения: 139
Репутация: +  5  -
Профиль   Отправить e-mail  

Отображение символов хираганы

в начале файла добавь
# -*- coding: utf-8 -*-
и проверь чтоб сам файл был в utf8

Офлайн

#5 Июнь 22, 2012 18:14:24

reclosedev
От: Н.Новгород
Зарегистрирован: 2012-03-29
Сообщения: 870
Репутация: +  173  -
Профиль   Отправить e-mail  

Отображение символов хираганы

FronSTAN
%c предназначена для вставки символа юникода с данным номером?
Необязательно Юникод, можно и ASCII и отдельные буквы.
http://docs.python.org/library/stdtypes.html#string-formatting-operations

FronSTAN
интерпретатор выдает ошибку:
Это проблема консоли Windows с ее cp866
http://wiki.python.org/moin/PrintFails
http://stackoverflow.com/questions/5419/python-unicode-and-the-windows-console
http://habrahabr.ru/post/117236/

upd:
Вспомнил, еще есть unichr()
>>> unichr(0x3065)
u'\u3065'

Отредактировано reclosedev (Июнь 22, 2012 18:35:14)

Офлайн

#6 Июнь 22, 2012 21:13:22

FronSTAN
Зарегистрирован: 2012-06-21
Сообщения: 3
Репутация: +  0  -
Профиль   Отправить e-mail  

Отображение символов хираганы

reclosedev
Это проблема консоли Windows с ее cp866
Да, видимо, не судьба мне вывести юникод-символы. Создание переменной среды не помогает.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version