extlife
На выходе получается текстовый файл
Просто двоичные данные какие-то. Это не текст.
>>> b[:100]
b"\x00\x00\x00\x97\x00\x01\xa8$\x00\x01\xa8!?\xc0\x00\x00?\x80\x00\x00\x00\x00\x02\x90\x00\x01\xa8#\x00\x01\xa8 ?\x80\x00\x00?\x8c\xcc\xcd\x00\x00\x11\xfe\x00\x01\xa8#\x00\x01\xa8!?\x8c\xcc\xcd?\x80\x00\x00\x00\x00\x1a\x91\x00\x01\xa8#\x00\x01\xa8 ?\x8c\xcc\xcd?\x80\x00\x00\x00\x001\xa3\x00\x01\xa8#\x00\x01\xa8\x1f@'\xae\x14@\x86ff"
>>>
extlife
При попытке вызвать метод decode() он начинает ругаться
Это можно делать, если данные являются текстом в какой-то кодировке. Часто по нулям можно определить, текст это или нет.
>>> b'\x00\x00\x00\x97'
b'\x00\x00\x00\x97'
>>> b'\x00\x00\x00\x97'.decode('utf-32be')
'\x97'
>>>
>>> b'\x00\x01\xa8$'
b'\x00\x01\xa8$'
>>> b'\x00\x01\xa8$'.decode('utf-32be')
'\U0001a824'
Так как там три нуля, то это может быть utf-32. Берём два символа, которые якобы в utf-32, и получаем, что они нетекстовые.