Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 24, 2010 17:29:01

Стас Агарков
От:
Зарегистрирован: 2009-11-07
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как раскодировать строку типа \u0435\u0440

Как на python перекодировать строку \u0435\u0440 в utf-8? В строке именно стоит в начале \, потом английская буква u, и далее цифры. То есть один символ занимает 6 байтов.
В таком виде хранится .properties в java, а мне нужно просматривать их diff в trac, который написан на python.



Офлайн

#2 Июнь 24, 2010 18:53:55

Александр Кошелев
От: Москва
Зарегистрирован: 2007-02-03
Сообщения: 1724
Репутация: +  2  -
Профиль   Отправить e-mail  

Как раскодировать строку типа \u0435\u0440

u'\u0435\u0440'.encode('utf-8')
Ну а вообще код не машало бы ваш показать.



Офлайн

#3 Июнь 24, 2010 18:56:30

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Как раскодировать строку типа \u0435\u0440

>>> ‘\u0435\u0440’.decode('unicode_escape')
u'\u0435\u0440'
>>> _.encode('utf-8')
'\xd0\xb5\xd1\x80'
>>> print _
ер

..bw



Офлайн

#4 Июнь 24, 2010 19:14:25

Стас Агарков
От:
Зарегистрирован: 2009-11-07
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как раскодировать строку типа \u0435\u0440

Спасибо.
А чем отличается unicode_escape от raw_unicode_escape?



Офлайн

#5 Июнь 25, 2010 06:29:54

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Как раскодировать строку типа \u0435\u0440

Посмотри сорцы, это быстрее чем ждать пока я освобожусь, посмотрю код (или погуглю) и сообщу тебе.

..bw



Офлайн

#6 Июнь 25, 2010 10:24:54

Стас Агарков
От:
Зарегистрирован: 2009-11-07
Сообщения: 12
Репутация: +  0  -
Профиль   Отправить e-mail  

Как раскодировать строку типа \u0435\u0440

Первая ссылка — эта тема.
http://www.google.ru/search?client=opera&rls=en&q=%D0%90+%D1%87%D0%B5%D0%BC+%D0%BE%D1%82%D0%BB%D0%B8%D1%87%D0%B0%D0%B5%D1%82%D1%81%D1%8F+unicode_escape+%D0%BE%D1%82+raw_unicode_escape?&sourceid=opera&ie=utf-8&oe=utf-8

:)

Отличается тем, какой метод у codecs вызывается: raw_unicode_escape_decode или unicode_escape_decode. А в исходниках codecs ничего полезного не удалось найти.



Отредактировано (Июнь 25, 2010 10:28:47)

Офлайн

#7 Июнь 25, 2010 15:00:59

bw
От:
Зарегистрирован: 2007-09-26
Сообщения: 938
Репутация: +  20  -
Профиль   Адрес электронной почты  

Как раскодировать строку типа \u0435\u0440

Не смешно :-).
Посмотри здесь по форуму, по слову raw-unicode-escape, был случай, когда требовался именно raw, но при кодировании (unicode->str). Я не стал вникать в суть, просто использовал этот кодек.

..bw



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version