Задать вопрос
@nalezhitiy

Python сжатие строки, почему изменился размер после конкатенации с другой строкой?

Есть структура dict , перегоняю ее в json строку, сжимаю json строку , а потом собираю новую строку через форматирование строк. Почему размер финальной строки увеличился в 3 раза?

import json
import zlib

dict_data = {
	'command': "send_files",
	'files': ['images/elements/82.gif', 
				'images/elements/168.gif', 
				'images/elements/219.gif', 
				'images/elements/2yntZymm.png', 
				'images/elements/RGAlKgXS.png', 
				'images/elements/vedALO6A.png', 
				'images/elements/166.gif', 
				'images/elements/165.gif', 
				'images/elements/128.gif', 
				'images/elements/192.gif', 
				'images/elements/183.gif', 
				'images/elements/196.gif', 
				'images/elements/11.gif', 
				'images/elements/108.gif', 
				'images/elements/21.gif', 
				'images/elements/148.gif', 
				'images/elements/32.gif', 
				'images/elements/143.gif', 
				'images/elements/2vKwklHg.png', 
				'images/elements/106.gif'
                 ]
}

json_data = json.dumps(dict_data)
print("Len json_data: %s" % len(json_data))
# Len json_data: 592

compress_data = zlib.compress(json_data.encode('utf-8'))
print("Len compress_data: %s" % len(compress_data))
# Len compress_data: 165

result_string = "{'compress_data':%s}" % compress_data
print("Len result_string: %s" % len(result_string))
# Len result_string: 495

Я надеялся что результат будет (~ 18 + 165) bytes
Из за чего такое поведение?
  • Вопрос задан
  • 415 просмотров
Подписаться 1 Простой 5 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы