Форум сайта python.su
у меня есть вот такая строка u'\xb8\x0c' и я пытаюсь слать :
Traceback (most recent call last):
File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
self.run()
File "f8.py", line 283, in run
sock.send(size)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xb8' in position 0: ordinal not in range(128)
Офлайн
sonniyЭто не 2 байта, а 2 символа. Получить однобайтовую строку можно с помощью метода encode, но нужно правильно задать кодировку:
это у нас два байта
>>> u'\xb8\x0c'.encode( "utf-8" )
'\xc2\xb8\x0c'
>>> """.join( [ chr(ord(x)) for x in u'\xb8\x0c' ] )
'\xb8\x0c'
Офлайн
Офлайн
решение
ЗЫ
простите за дубль топик, если можно перенесите все сюда
Офлайн