LINUX.ORG.RU

[Python] Из UTF-8 в UTF-8

 


0

0

Извиняюсь за тупой вопрос, который на ЛОРе уже наверное в тысячный раз задают. Но я с этой заморочкой себе уже весь мозг прокомпостировал.

Есть некая не UTF строка в UTF кодировке:

>>> str
"\xd0\xb2\xd0\xb8\xd0\xb4\xd0\xb5\xd0\xbe"

Однако с помощью print она выводится в РЕПЛе нормально:

>>> print str
видео

Подскажите пожалста костыль для преобразования этой строки так, чтобы она нормально выводилась:

>>> str
видео

PS Использую РЕПЛ в Эмаксе.

>>> s = "\xd0\xb2\xd0\xb8\xd0\xb4\xd0\xb5\xd0\xbe"
>>> s
'\xd0\xb2\xd0\xb8\xd0\xb4\xd0\xb5\xd0\xbe'
>>> unicode(s, encoding="utf8")
u'\u0432\u0438\u0434\u0435\u043e'
>>> print unicode(s, encoding="utf8")
видео

оно?

ksv
()

Чем print str не устраивает?

provaton ★★★★★
()
Ответ на: комментарий от ksv

>>> print unicode(str, encoding="utf8")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-4: ordinal not in range(128)

Вообще я хочу обойтись без использования print.

zahardzhan
() автор топика
Ответ на: комментарий от zahardzhan

В нём та же самая ерунда по большей части.

Да, нет. Если работать только с юникодными строками, то все хорошо.

Python 3.1.1 (r311:74480, Aug 27 2009, 04:53:25) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> s = '山根麻衣'
>>> s
'山根麻衣'
>>>
baverman ★★★
()
Ответ на: комментарий от baverman

>>> s = '山根麻衣'

Жаль, что я не вижу что написано в этом сообщении (ибо кракозяблы). В принципе, хрен с ним с кодировками - то что мне надо, оказывается работает, но всё-же как-то не удобно.

Да, может кто подскажет толковую среду разработки для питона. Желательно мод для Эмакса, но не обязательно.

zahardzhan
() автор топика
Ответ на: комментарий от zahardzhan

>Да, может кто подскажет толковую среду разработки для питона. Желательно мод для Эмакса, но не обязательно.

посмотри на ropemacs, хоть это и не среда разработки

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.