Найти - Пользователи
Полная версия: Кодировка
Начало » Python для новичков » Кодировка
1
VeNOm
Граблю с сайта информацию
(12:48) xxx: \xd3\xe2\xe0\xe6\xe0\xe5\xec\xfb\xe5 \xf1\xee\xf2\xf0\xf3\xe4\xed\xe8\xea\xe8 *****, \xf1\xe5\xe3\xee\xe4\xed\xff \xe1\xf3\xe4\xe5\xf2 \xee\xf0\xe3\xe0\xed\xe8\xe7\xee\xe2\xe0\xed \xf7\xe5\xec\xef\xe8\xee\xed\xe0\xf2 \xef\xee \xc4\xce\xd2\xc5, \xe2 17:00 \xe6\xe4\xf3 \xe2\xf1\xe5\xf5 \xe6\xe5\xeb\xe0\xfe\xf9\xe8\xf5 \xe2 309 \xea\xee\xec\xed\xe0\xf2\xe5.<br>(13:23) xxx: \xd7\xe5\xec\xef\xe8\xee\xed\xe0\xf2 \xee\xf2\xec\xe5\xed\xff\xe5\xf2\xf1\xff! \xcc\xe5\xed\xff \xf3\xe2\xee\xeb\xe8\xeb\xe8 (((
как это в русский преобразовать?
Evgen
"xf2\xec\xe5\xed\xff\xe5\xf2\xf1\xff! \xcc\xe5\xed\xff \xf3\xe2\xee\xeb\xe8\xeb\xe8 (((".decode("cp1251")
VeNOm
def bash():
res = urllib.request.urlopen('http://bash.org.ru/random')
res= str(res.read())
s=re.search(r"<div>(.*?)<\/div>",res)
s.groups().decode("cp1251")
print(s.groups())
s.groups().decode(“cp1251”)
AttributeError: ‘tuple’ object has no attribute ‘decode’
igor.kaist
да сколько можно… читайте учебники…
for x in s.groups():
print(x.decode('cp1251'))
текст ошибки ЯВНО указывает на ошибку!!!
VeNOm
эххх
AttributeError: ‘str’ object has no attribute ‘decode’
библиотеку codecs импортировал

python v. 3.1
Gradient
Декодировать лучше сразу:
res=str(res.read().decode('cp1251'))
igor.kaist
Gradient, раз уж поднял тему… зачем делать str для юникодной строки?
Gradient
Согласен, незачем. Это был копипаст, над которым я недостаточно подумал :-)

Тут ещё вероятно с регекспом что-то или ещё с чем: возвращается только первая цитата со страницы. Глубоко не лазил.
Но текст получается.
SETY
# -*- coding: cp1251 -*-

print """\xd3\xe2\xe0\xe6\xe0\xe5\xec\xfb\xe5 \xf1\xee\xf2\xf0\xf3\xe4\
xed\xe8\xea\xe8 *****, \xf1\xe5\xe3\xee\xe4\xed\xff \xe1\xf3\xe4\xe5\xf2
\xee\xf0\xe3\xe0\xed\xe8\xe7\xee\xe2\xe0\xed \xf7\xe5\xec\xef\xe8\xee\xed\xe0\xf2 \xef\xee \xc4\xce\xd2\xc5, \xe2 17:00 \xe6\xe4\xf3 \xe2\xf1\xe5\xf5
\xe6\xe5\xeb\xe0\xfe\xf9\xe8\xf5 \xe2 309 \xea\xee\xec\xed\xe0\xf2\xe5 """
а вот и перевод
>>> 
Уважаемые сотрудxedики *****, сегодня будет
организован чемпионат по ДОТЕ, в 17:00 жду всех
желающих в 309 комнате
>>>
SETY
или так
>>> print """\xd3\xe2\xe0\xe6\xe0\xe5\xec\xfb\xe5 \xf1\xee\xf2\xf0\xf3\xe4\xed\xe8\xea\xe8 *****, \xf1\xe5\xe3\xee\xe4\xed\xff \xe1\xf3\xe4\xe5\xf2 \xee\xf0\xe3\xe0\xed\xe8\xe7\xee\xe2\xe0\xed \xf7\xe5\xec\xef\xe8\xee\xed\xe0\xf2 \xef\xee \xc4\xce\xd2\xc5, \xe2 17:00 \xe6\xe4\xf3 \xe2\xf1\xe5\xf5 \xe6\xe5\xeb\xe0\xfe\xf9\xe8\xf5 \xe2 309 \xea\xee\xec\xed\xe0\xf2\xe5.<br>(13:23) xxx: \xd7\xe5\xec\xef\xe8\xee\xed\xe0\xf2 \xee\xf2\xec\xe5\xed\xff\xe5\xf2\xf1\xff! \xcc\xe5\xed\xff \xf3\xe2\xee\xeb\xe8\xeb\xe8"""
Уважаемые сотрудники *****, сегодня будет организован чемпионат по ДОТЕ, в 17:00 жду всех желающих в 309 комнате.<br>(13:23) xxx: Чемпионат отменяется! Меня уволили
>>>
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