У меня есть этот очень простой код Python:Python - Строка меняется после декодирования и кодирования снова (Zlib + base64)
in_data = "eNrtmD1Lw0AY..."
print("Input: " + in_data)
out_data = in_data.decode('base64').decode('zlib').encode('zlib').encode('base64')
print("Output: " + out_data)
Это выводит:
Input: eNrtmD1Lw0AY...
Output: eJztmE1LAkEY...
Строка также правильно декодирован; если я покажу in_data.decode('base64').decode('zlib')
, он дает ожидаемый результат.
Кроме того, форматирование различен для обеих строк:
Почему декодирования/кодирования не работает должным образом? Существуют ли какие-то параметры, которые я должен использовать?
Форматирование соответствует стандартным правилам base64; новые строки разрешены и предпочтительны в 76 столбцах. Возможно, ваши входные данные использовали более тяжелую или более легкую настройку сжатия? –
Пожалуйста, включите * полную строку ввода *, чтобы мы могли правильно диагностировать. –
Вот он: http://pastebin.com/LUy2Ybs4 – pie3636