Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 25, 2009 15:40:13

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

проблема с кодировками при парсинге xml

Берем текст из xml и получаем вот такую бяку
u'\u0422\u0435\u043c\u0430

когда делаем
text.encode('cp1251')

получаем такое:
\xd2\xe5\xec\xe0

как достать текст с кодировкой cp1251 ?



Офлайн

#2 Дек. 25, 2009 15:52:42

Dimka665
От:
Зарегистрирован: 2008-09-19
Сообщения: 177
Репутация: +  0  -
Профиль   Отправить e-mail  

проблема с кодировками при парсинге xml

это и есть текст в кодировке cp1251.
просто \xd2\xe5\xec\xe0 - представление текста ascii-символами.



Офлайн

#3 Дек. 25, 2009 16:25:44

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

проблема с кодировками при парсинге xml

Dimka665
это и есть текст в кодировке cp1251.
просто \xd2\xe5\xec\xe0 - представление текста ascii-символами.
а как сделать из него читабельный текст?



Офлайн

#4 Дек. 25, 2009 16:39:33

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

проблема с кодировками при парсинге xml

>>> i = u'\u0422\u0435\u043c\u0430'
>>> print i
Тема



Офлайн

#5 Дек. 25, 2009 18:01:21

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

проблема с кодировками при парсинге xml

expee
>>> i = u'\u0422\u0435\u043c\u0430'
>>> print i
Тема
а как если текст находиться в переменной?



Офлайн

#6 Дек. 25, 2009 18:07:37

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

проблема с кодировками при парсинге xml

Sergey
а как если текст находиться в переменной?
А в моем коде он в чем находится?



Офлайн

#7 Дек. 25, 2009 18:15:38

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

проблема с кодировками при парсинге xml

expee
Sergey
а как если текст находиться в переменной?
А в моем коде он в чем находится?
сорри за школьные вопросы, но все же
response = urllib.urlopen(url)
element = ET.XML(response.read())
info = []
for subelement in element:
if subelement.tag=="tcy":
info.append(subelement.attrib["value"])

print info
выводиться абракадабра, что нужно чтоб было читабельно а не в аски



Офлайн

#8 Дек. 25, 2009 18:25:50

Ferroman
От:
Зарегистрирован: 2006-11-16
Сообщения: 2759
Репутация: +  1  -
Профиль   Отправить e-mail  

Офлайн

#9 Дек. 27, 2009 15:03:39

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

проблема с кодировками при парсинге xml

Sergey
Берем текст из xml и получаем вот такую бяку
u'\u0422\u0435\u043c\u0430

когда делаем
text.encode('cp1251')

получаем такое:
\xd2\xe5\xec\xe0

как достать текст с кодировкой cp1251 ?
если у вас выходит
u'\u0422\u0435\u043c\u0430
нет завершаюшего
'

Офлайн

#10 Дек. 27, 2009 17:21:58

sypper-pit
От: Ulan-Ude(msk)
Зарегистрирован: 2009-01-30
Сообщения: 1102
Репутация: +  6  -
Профиль   Отправить e-mail  

проблема с кодировками при парсинге xml

>>> info = '\xd2\xe5\xec\xe0'
>>> print info.decode('cp1251')
Тема
>>> info = u'\u0422\u0435\u043c\u0430'
>>> print info
Тема
>>> print info.encode('cp1251')
╥хьр
>>> poi = info.encode('cp1251')
>>> poi.decode('cp1251')
u'\u0422\u0435\u043c\u0430'
>>> print poi.decode('cp1251')
Тема
>>>

Отредактировано (Дек. 27, 2009 17:24:08)

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version