Входные данные представляют собой байтовую переменную со значением b'\x1f\x8b\x08\x00'
, которую необходимо преобразовать в строку. Ожидаемый результат: '\x1f\x8b\x08\x00'
.
Как мне этого добиться?
Я использую zlib для получения входных данных gzip, и мне нужно преобразовать их в строку для браузера, чтобы распаковать.
Я попытался добавить параметр errors='ignore'
.
Я попытался указать кодировку «latin1», но браузер не может распаковать данные.
>>> a = b'\x1f\x8b\x08\x00'
>>> z = a.decode('utf-8')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x8b in position 1: invalid start byte
>>> z = a.decode('utf-8', errors = 'ignore')
>>> z
'\x1f\x08\x00'
Ожидаемый результат '\x1f\x8b\x08\x00'
print(str(z).strip('b'))
? Непонятно, зачем вам нужен этот вывод. - person chepner   schedule 11.11.2019a.hex()
? - person quamrana   schedule 11.11.2019str
ничего не добавляет; вы смотрите на результатrepr(str(z))
, а не на содержимое самой строки. - person chepner   schedule 11.11.2019