Я пытаюсь использовать Zlib для сжатия текста.
Например, у меня есть строка T = 'бла-бла-бла-бла'
Мне нужно сжать ее для этой строки. Я использую S = zlib.compress (T)
, чтобы сжать его. Теперь я хочу получить недвоичную форму S
, чтобы я мог распаковать T
, но в другой программе.
Спасибо!
РЕДАКТИРОВАТЬ: Думаю, у меня есть способ решить то, что я хотел. Вот метод:
import zlib, base64
text = 'STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW STACK OVERFLOW '
code = base64.b64encode(zlib.compress(text,9))
print code
Что дает:
eNoLDnF09lbwD3MNcvPxD1cIHhxcAE9UKaU=
Теперь я могу скопировать этот код в другую программу, чтобы вернуть исходную переменную:
import zlib, base64
s='eNoLDnF09lbwD3MNcvPxD1cIHhxcAE9UKaU='
data = zlib.decompress(base64.b64decode(s))
print data
Пожалуйста, сообщите, знаете ли вы о каком-либо другом методе сжатия, который дал бы лучшие результаты которые соответствуют приведенному выше коду .