Я спостерігаю за проблемами при спробі розпакувати файли з 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?
Deflate
поки розмір нестисненого файлу не досягне приблизно 2 ГБ (2 * 1024 ^ 3), після чого він переходить наDeflate64
.