Уведомления

Группа в Telegram: @pythonsu

#1 Июль 23, 2013 23:31:23

fear111
Зарегистрирован: 2013-07-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

строка

Имеется вот такая строка:

st = '\xdd\x01'
Мне необходимо убрать из неё \x.

Побывал вот так:
s = st.split('\x', '')
Вылазит такая ошибка:
TypeError: an integer is required

У кого нибудь есть идеи, как решить проблему?

Отредактировано fear111 (Июль 23, 2013 23:32:02)

Офлайн

#2 Июль 24, 2013 02:22:59

JOHN_16
От: Россия, Петропавловск-Камчатск
Зарегистрирован: 2010-03-22
Сообщения: 3292
Репутация: +  221  -
Профиль   Отправить e-mail  

строка

есть, учить матчать. Вот пища для размышлений

>>> st = '\xdd\x01'
>>> st
'\xdd\x01'
>>> repr(st)
"'\\xdd\\x01'"
>>> print st
▌☺
>>> ord(st[0])
221
>>> map(ord, st)
[221, 1]
>>> [hex(ord(x)) for x in st]
['0xdd', '0x1']
>>>



_________________________________________________________________________________
полезный блог о python john16blog.blogspot.com

Офлайн

#3 Июль 24, 2013 10:47:19

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

строка

>>> import binascii
>>> 
>>> s = '\xdd\x01'
>>> r = binascii.hexlify(s.encode('latin1')).decode('latin1')
>>> print(r)
dd01
>>>



Отредактировано py.user.next (Июль 24, 2013 10:48:03)

Офлайн

#4 Июль 24, 2013 11:42:55

fear111
Зарегистрирован: 2013-07-22
Сообщения: 5
Репутация: +  0  -
Профиль   Отправить e-mail  

строка

Всем спасибо за помощь

py.user.next, только по неведомой причине у меня работает так:

        s = st.decode('latin1')
        r = binascii.hexlify(s.encode('latin1'))

Отредактировано fear111 (Июль 24, 2013 12:29:30)

Офлайн

#5 Июль 24, 2013 19:58:55

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10016
Репутация: +  857  -
Профиль   Отправить e-mail  

строка

у тебя второй питон

>>> import binascii
>>> 
>>> s = '\xdd\x01'
>>> r = binascii.hexlify(s)
>>> print r
dd01
>>>



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version