Почему новый zstd на Python 3.14 не совместим на двоичном уровне со старым zstandard [закрыто]Python

Программы на Python
Ответить
Anonymous
 Почему новый zstd на Python 3.14 не совместим на двоичном уровне со старым zstandard [закрыто]

Сообщение Anonymous »

Новый zstd версии 3.14 не совместим на уровне двоичного кода со старым zstandard!? В частности, если вы используете fzstd на стороне Javascript для распаковки, а это на стороне Python, то вам конец:

Код: Выделить всё

    cctx = zstd.ZstdCompressor(level=3)
zstd_data = cctx.compress(raw_data)
Новый zstd немного больше (например, 675133 байта старого против 689349 байт нового), и fzstd умрет с сообщением об ошибке «неожиданный EOF».
Но если я напишу вместо этого

Код: Выделить всё

    zstd_new = zstd.compress(packed, level=3)
тогда и новые, и старые файлы одинаковы (и fzstd работает)
Так, видимо, это как-то связано с формулировкой CCTX? Что это вообще дает?!

Подробнее здесь: https://stackoverflow.com/questions/798 ... -zstandard
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»