питон 3.6.3.сжатие zlib - PullRequest
       13

питон 3.6.3.сжатие zlib

0 голосов
/ 19 ноября 2018

Я пытаюсь сжать строку в Python 3.6.3 с помощью zlib, но получаю ошибку (TypeError: требуется объект, похожий на байты, а не 'str'), он должен был работать на версиях Python 2.7,вот мой простой код:

import zlib
a='hellohellohelloheeloohegregrf'
b=zlib.compress(a)
print(b)

1 Ответ

0 голосов
/ 19 ноября 2018
import zlib
a='hellohellohelloheeloohegregrf'
b=zlib.compress(a.encode("utf-8"))
print(b)

Альтернатива:

import zlib
a= b'hellohellohelloheeloohegregrf'
b=zlib.compress(a)
print(b)

В Python2.x этот строковый литерал называется str объектом, но он сохраняется как bytes.

В Python3.x этот строковый литерал является объектом str, а его тип является Unicode. Итак, нужно поставить префикс с b или использовать .encode, чтобы получить bytes объект.

...