Уведомления

Группа в Telegram: @pythonsu

#1 Янв. 9, 2011 12:22:42

steel98
От:
Зарегистрирован: 2011-01-09
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой или условием?

Используется библиотека twisted, пишется ICQ бот.

Бот получает сообщение, например строку “hello”
Но условие всегда ложно. В чем может быть дело?

       def receiveMessage(self, user, multiparts, flags):
print "\n< From: ", user.name
print "< Message: ", multiparts[0][0].decode('cp1251')
command = multiparts[0][0].lower().split(' ')

if command[0] == 'hello':
self.sendMessage(user.name, 'ur')
else:
self.sendMessage(user.name, 'shit')



Офлайн

#2 Янв. 9, 2011 15:15:40

o7412369815963
От:
Зарегистрирован: 2009-06-17
Сообщения: 1986
Репутация: +  32  -
Профиль   Отправить e-mail  

Проблема с кодировкой или условием?

в дебагере посмотри что в command прилетает, какой тип объекта?

Офлайн

#3 Янв. 10, 2011 03:37:36

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

Проблема с кодировкой или условием?

наверное, перед/после hello есть что-то еще - хтмл теги или другой мусор.

Отредактировано (Янв. 10, 2011 03:40:28)

Офлайн

#4 Янв. 10, 2011 16:00:38

steel98
От:
Зарегистрирован: 2011-01-09
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема с кодировкой или условием?

Да, посылаю символ ‘a’ из аськи, он получает ‘\x00a\x00\r\x00\n’, как с этим работать? Есть какие-нибудь готовые функции?



Офлайн

#5 Янв. 10, 2011 17:40:38

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

Проблема с кодировкой или условием?

Это utf-16be



Офлайн

#6 Янв. 10, 2011 17:51:55

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

Проблема с кодировкой или условием?

Андрей Светлов
Это utf-16be
>>> '\x00a\x00\r\x00\n'.decode('utf-16-be').strip() == 'a'
True
>>>



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version