Tôi đang cố gắng sử dụng Zlib để nén văn bản.Làm cách nào để nén văn bản?
Ví dụ tôi có một văn bản T='blah blah blah blah'
tôi cần phải nén nó cho điều này tôi đang sử dụng S=zlib.compress(T)
Bây giờ những gì tôi muốn là để có được những hình thức ASCII của S
để tôi có thể giải nén T
này nhưng trong một chương trình khác nhau. Cảm ơn,
EDIT: Tôi đoán tôi có một phương pháp để giải quyết nó đây là cách:
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
mang đến cho:
eNoLDnF09lbwD3MNcvPxD1cIHhxcAE9UKaU=
Bây giờ tôi có thể sao chép mã này vào một chương trình khác nhau để đưa chương trình gốc trở lại:
import zlib, base64
s='eNoLDnF09lbwD3MNcvPxD1cIHhxcAE9UKaU='
data = zlib.decompress(base64.b64decode(s))
print data
Pl dễ dàng gợi ý nếu bạn nhận thức được bất kỳ phương pháp nén nào khác sẽ cho kết quả tốt hơn trong khi phù hợp với cùng một cách thức.
Sử dụng zlib để giải nén S? – arthurprs
Điều gì ngăn cản bạn sử dụng [zlib.decompress()] (http://docs.python.org/library/zlib.html#zlib.decompress) trong chương trình khác đó? –
Bạn sẽ chấp nhận câu trả lời của tôi cho câu hỏi trước của bạn? Điều đó có thể khuyến khích tôi giúp bạn với câu hỏi mới này. Bây giờ tôi hiểu những gì bạn đang nhận được. –