@Alexandr2001
python

Как из строки байтов сделать нормальную строку?

Есть строка вида ' \xd0\x9c\xd0\xbe\xd0\xbd\xd0\xb5\xd1\x82\xd0\xb0' её тип строка, но содержит она байты. если я хочу преобразовать ее в байтовою строку получаю это ' \\xd0\\x9c\\xd0\\xbe\\xd0\\xbd\\xd0\\xb5\\xd1\\x82\\xd0\\xb0' (экранируется \) и не получается ее преобразовать в unicode. Как мне из строки содержащей байты извлечь информацию?
  • Вопрос задан
  • 162 просмотра
Пригласить эксперта
Ответы на вопрос 3
alternativshik
@alternativshik
In [1]: s =  b'\xd0\x9c\xd0\xbe\xd0\xbd\xd0\xb5\xd1\x82\xd0\xb0'
In [2]: s.decode('utf-8')
Out[2]: 'Монета'
Ответ написан
aRegius
@aRegius
Python Enthusiast
Попробуйте:
string_to_convert = [ord(i) for i in string_to_convert]
word = bytearray(string_to_convert).decode('utf-8')
Ответ написан
Комментировать
@Kapustlo
string = '\xd0\x9c\xd0\xbe\xd0\xbd\xd0\xb5\xd1\x82\xd0\xb0'
string_bytes = string.encode("iso8859-1") # Вот тут вы получите байты, если надо будет ими дальше оперировать
decoded_string = string.decode("utf-8") # "Монета"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы