Как преобразовать мой bytearray ('b \ x9e \ x18K \ x9a') во что-то вроде этого -> '\ x9e \ x18K \ x9a' <--- просто str, а не массив

Как конвертировать мойbytearray('b\x9e\x18K\x9a') на что-то вроде этого - & gt;\x9e\x18K\x9a & lt; --- просто str, а не массив!

<code>>> uidar = bytearray()
>> uidar.append(tag.nti.nai.uid[0])
>> uidar.append(tag.nti.nai.uid[1])
>> uidar.append(tag.nti.nai.uid[2])
>> uidar.append(tag.nti.nai.uid[3])
>> uidar
   bytearray('b\x9e\x18K\x9a')
</code>

Я пытаюсь расшифровать мой bytearray

<code>uid  =  uidar.decode('utf-8')
</code>

но это не может ...

<code>Traceback (most recent call last):
  File "<pyshell#42>", line 1, in <module>
    uid = uidar.decode("utf-8")
  File "/usr/lib/python2.7/encodings/utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0x9e in position 0: invalid start byte
</code>

Помоги мне, пожалуйста ...

 jterrace05 мая 2012 г., 17:03
Добро пожаловать на ТАК! Если вы удовлетворены ответом, отметьте его как принятый, щелкнув значок галочки рядом с вопросом.
 Francis Avila05 мая 2012 г., 07:26
То, что вы просите, похоже, не имеет никакого смысла. Не могли бы вы расширить и уточнить свой вопрос, сказав, что вы пытаетесь достичь в целом?

Ответы на вопрос(1)

>>> str(bytearray('b\x9e\x18K\x9a'))
'b\x9e\x18K\x9a'

Latin-1 отображает первые 256 символов на их эквиваленты по байт-значениям, поэтому в Python 3.x:

3>> bytearray(b'b\x9e\x18K\x9a').decode('latin-1')
'b\x9e\x18K\x9a'
 user137629405 мая 2012 г., 07:38
Огромное спасибо...

Ваш ответ на вопрос