Почему новый zstd на Python 3.14 не совместим на уровне двоичного кода со старым zstandardPython

Программы на 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»