Есть ли способ распаковать данные GZIP, затем вернуть их в поток байтов, а затем в предпочтительную кодировку - PullRequest
1 голос
/ 01 ноября 2019


Я пытаюсь получить файл gz с веб-сайта, используя библиотеку Requests в python.

Мой код:

import zlib
import requests

if __name__ == '__main__':
     session = requests.Session()
     url_response = session.get(<URL>)
     decompressed_data = zlib.decompress(url_response.content, 16 + zlib.MAX_WBITS)


прямо сейчас полученное мной распакованное значение представляет собой смесь символов и байтов,
но я хочу декодировать весь поток в "UTF-16" (когда я делаю это на текущей строке, я получаю нераспознанные символы).
Моя идея заключалась в том, чтобы кодировать в байты и декодировать в "UTF-16", но я не уверен, возможно ли это или правильно сделать это.
Надеюсь, что кто-то может помочь мне решить эту проблему, спасибо

решено
Кодировка файла была "UTF-8 Unicode (с BOM) текст, с ограничителями строки CRLF"поэтому я декодирую поток байтов в "utf-8-sig"

...