Найти - Пользователи
Полная версия: Как раскодировать строку типа \u0435\u0440
Начало » Python для новичков » Как раскодировать строку типа \u0435\u0440
1
Стас Агарков
Как на python перекодировать строку \u0435\u0440 в utf-8? В строке именно стоит в начале \, потом английская буква u, и далее цифры. То есть один символ занимает 6 байтов.
В таком виде хранится .properties в java, а мне нужно просматривать их diff в trac, который написан на python.
Александр Кошелев
u'\u0435\u0440'.encode('utf-8')
Ну а вообще код не машало бы ваш показать.
bw
>>> ‘\u0435\u0440’.decode('unicode_escape')
u'\u0435\u0440'
>>> _.encode('utf-8')
'\xd0\xb5\xd1\x80'
>>> print _
ер

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

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

..bw
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB