Преобразовать байтовую строку в байты
Возможно, не совсем удачная формулировка заголовка вопроса. Сервер возвращает строку вида
b'\x80\x04\x95\r\x00\x00\x00\x00\x00\x00\x00]\x94(\x8c\x01e\x94h\x01h\x01e.'
Она получена путем
pickle.dumps(list("eee"))
Вопрос: как сделать
"".join(pickle.loads(b'\x80\x04\x95\r\x00\x00\x00\x00\x00\x00\x00]\x94(\x8c\x01e\x94h\x01h\x01e.'))
если сервер возвращает строку b'\x80\x04\x95\r\x00\x00\x00\x00\x00\x00\x00]\x94(\x8c\x01e\x94h\x01h\x01e.' как <class str>?
То есть, строка, по идее, байтовая, но имеет тип str. Как привести такую строку к типу bytes?
Ответы (1 шт):
Автор решения: Кирилл Малышев
→ Ссылка
Если у вас есть такая строка
s = r"b'\x80\x04\x95\r\x00\x00\x00\x00\x00\x00\x00]\x94(\x8c\x01e\x94h\x01h\x01e.'"
превратить её в bytes можно так:
import ast
res = ast.literal_eval(s)