Декодировать сжатые байты в utf-8 в python? - PullRequest
0 голосов
/ 08 апреля 2020

У меня есть переменная формата base64

variable = b'gAN9cQAoGdS4='

Для сохранения в базе данных я декодирую ее

st1 = string.decode('utf-8')
st1
Out[35]: 'gAN9cQAoGdS4='

Теперь у меня очень большая переменная больше 4 ГБ, поэтому я сжимаю ее, используя zlib

import zlib
variable_comp = zlib.compress(variable)

Теперь, чтобы сохранить в дБ, я не могу декодировать его

st1 = variable_comp.decode('utf-8')

Я получаю

UnicodeDecodeError: 'utf-8' codec can't decode byte 0x9c in position 1: invalid start byte

, поэтому я попытался

st2 = variable_comp.decode('utf-8', errors="ignore")

Но когда я распаковываю его, я получаю сообщение об ошибке

variable_decomp = zlib.decompress(st2)
TypeError: a bytes-like object is required, not 'str'

Могу ли я узнать, как это исправить, исправит ли это gzip?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...