Для того, чтобы уменьшить объем длинной текстовой строки, например для снижения трафика при передаче текстовых данных через Интернет, ее можно сжать перед отправкой и разархивировать после получения. При этом объем передаваемых данных значительно снижается, по сравнению с передачей текстовых строк в их исходном виде.
Чтобы заархивировать текстовую строку в памяти, воспользуемся модулем zlib.
Для сжатия строки мы будем использовать функцию compress. Эта функция принимает во входном параметре строку байт и возвращает эту строку в сжатом виде.
|
import zlib long_text = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.' print('long_text', len(long_text)) long_text_compressed = zlib.compress(long_text.encode('utf-8')) print('long_text_compressed', len(long_text_compressed)) # long_text 445 # long_text_compressed 270 |
Как видно на простейшем примере, объем строки сократился более чем в полтора раза.
Python: как сжать строку текстаRead More »