Як Windows вирішує, чи використовувати Deflate чи Deflate64 для збирання файлів?


3

Я спостерігаю за проблемами при спробі розпакувати файли з C #. Ці файли були створені за допомогою вбудованої функції zip Windows Explorer (у Windows 8.1 x64).

Проблеми ґрунтуються на тому, що інколи Windows Explorer використовує Deflate64метод стиснення для своїх zip-файлів, а не Deflateметод (де тільки останні підтримуються вбудованими класами .NET).

Це питання стосується не проблем програмування, а поведінки Windows Explorer.

Як Windows Explorer вирішує, чи використовувати його Deflateчи Deflate64?

Це пов’язано з розміром нестисненого файлу? Я спробував різні комбінації, і, принаймні, знайшов купу файлів розміром приблизно 1 ГБ, які отримують блискавку Deflate, та ще одну групу файлів на суму понад 2 ГБ, яка отримує блискавку Deflate64. Або все-таки щось інше (кількість файлів, можливо, навіть щось менш очевидне, наприклад, рівень стиснення)?

Чи така поведінка навіть узгоджується у "поточних" версіях Windows?


2
Здається, цей коментар співробітника Microsoft Github передбачає, що Deflateпоки розмір нестисненого файлу не досягне приблизно 2 ГБ (2 * 1024 ^ 3), після чого він переходить на Deflate64.
Ян Кемп
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.