Как сжать строку и вернуть ее с помощью zlib?

Я пытаюсь использовать 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

Пожалуйста, сообщите, знаете ли вы о каком-либо другом методе сжатия, который дал бы лучшие результаты которые соответствуют приведенному выше коду .

22
задан beroe 8 October 2018 в 20:50
поделиться