TGTGInsighttelegram intelligenceLIVE / telegram public index
← Python Заметки

TGINSIGHT SIMILAR POSTS

Најди сличен содржај

Изворен канал @pythonotes · Post #154 · 28 сеп.

В Python2 была интересная возможность кодировать строку с помощью ZIP-архивации. Ведь что такое кодирование? Просто преобразование данных из одного вида в другой. Компрессия это тоже просто другая форма данных. Представление данных в виде ZIP просто и легко сокращает размер этих данных. Это бывает полезно или даже критично при передаче данных по медленным каналам. # Python2 >>> my_str = 'Hello ZIP' >>> my_zip_str = my_str.encode('zip') >>> print my_zip_str xЬєH═╔╔WИЄ♀ ☼╨♥️ Да, в результате это нереально прочитать, но мы же понимаем что это просто такая форма данных. Наша строка всё еще где-то там. Пробуем преобразовать обратно. >>> my_zip_str.decode('zip') 'Hello ZIP' Всё на месте! Пытливые умы заметили, что мы нифига не сэкономили 😭 >>> print len(my_str), len(my_zip_str) 9, 17 Увеличили размер почти в 2 раза! Да, это так. Но вся сила ZIP раскрывается на больших данных >>> my_str = 'Hello ZIP ' * 100 >>> my_zip_str = my_str.encode('zip') >>> print len(my_str), len(my_zip_str) 1000 27 Чем больше строка и чем больше в ней повторов, тем лучше она сожмётся. В данном случае в 37 раз меньше данных. Да, круто, но к чемуто это я? Дело в том что в Python3 этот код не сработает. Во-первых, кодек переименован в "zlib_codec", во-вторых подобный код вызовет ошибку и отправит нас в модуль codecs. my_str.encode('zlib_codec') LookupError: 'zlib_codec' is not a text encoding; use codecs.encode() to handle arbitrary codecs Данный функционал можно повторить и в Python3 но кода получится куда больше. И что теперь? Неужели я предлагаю заняться "некрокодингом" на Python2? Нет, не нужно тревожить пенсионера 🚑. Всё будет ясно вследующем посте. #libs

Hashtags

Резултати

Пронајдени 0 слични објави

Глобално пребарување

Не се пронајдени слични објави.

Оваа објава нема претходно пресметани резултати на сличност.