Zstandard поток (.zst)

IETF Стандарт

Zstandard (Zstd) е съвременен алгоритъм за компресия на данни в реално време без загуби, разработен от Meta. Той предлага коефициенти на компресия, сравними с Deflate.

Конвертиране от ZSTD към GZIP

Безплатен конвертор от ZSTD към GZIP в браузъра. Конвертирайте файлове незабавно на вашето устройство.

Проверка и метаданни

Операционните системи и файловите анализатори идентифицират Zstandard файлове чрез проверка на началната двоична байтова последователност:

Изберете или пуснете файлове тук

Поверително - файловете никога не напускат устройството ви

или поставете Ctrl+V
Гаранция за поверителност с нулево мрежово предаване: 0 байта са качени на външни сървъри. Цялата обработка се извършва локално в пясъчниците на вашия браузър.

Байтов подпис на заглавката (сигнатурни байтове)

Операционните системи и файловите анализатори идентифицират Zstandard файлове чрез проверка на началната двоична байтова последователност:

HEX ПОДПИС (ОФСЕТ 0):

28 B5 2F FD

ASCII ПРЕДСТАВЯНЕ: (µ/ý

Стандартизация: IETF RFC 8878

Технически спецификации

Контейнерна архитектураЗаглавна част на рамката с магически байтове 0xFD2FB528, дескриптор на рамката, блокове с данни и незадължителна 32-битова или 64-битова контролна сума
КомпресияКодер за ентропия с крайни състояния (FSE), кодиране на Хъфман и LZ77 с големи прозорци за търсене (до 2 GB)
Поредност на байтовете (Endianness)Байтовете и битовият поток са в ред от младшия към старшия байт (Little-Endian).
Цветови пространстваНеприложимо (поток за компресия на данни)
Канали и структураКомпресия на потоци от байтове с общо предназначение
Максимални размериНеограничен обем на поточните данни
Прозрачност100% беззагубно възстановяване на данните до последния бит
Поточно предаване и прогресивно зарежданеПоточно предаване с много висока пропускателна способност, предназначено да запълни капацитета на многогигабитови NVMe дискове и мрежови връзки

Техническа сравнителна матрица: Zstandard спрямо конкуренти

Технически атрибутZstandard (Текущ)GZBROTLILZ4
Скорост на декомпресияМного висока (1,5 до 3,0 GB/s)Умерена (~300 MB/s)Бърза (~400 MB/s)Изключително висока (около 4,0 GB/s)
Ефективност на компресиятаПо-висока от Gzip, съответства на Bzip2Базов стандартНай-висока при уеб текстНиска (фокусирана върху скоростта)
Обучение с речникРечници, обучени с потребителски данниНямаФиксиран уеб речник с размер 120 KBНяма
Възприемане от съвременните операционни системиLinux kernel, Arch, Fedora, BtrfsНаличен в някои стари Unix дистрибуцииУеб браузъри и периферни CDN сървъриLinux kernel и игрови двигатели

Често срещани видове повреди и ръководство за възстановяване на шестнадесетични данни

Грешка при декомпресия: 'ZSTD_error_checksum_wrong: Checksum verification failed'.

Първопричина: Повреден байт в блока с данни, причиняващ неуспех на 32-битовата или 64-битовата xxHash проверка.

Възстановяване: Извлечете с '--force', за да заобиколите контролната сума или коригирайте с File2File.app Zstd Converter.

Анализ на сигурността и вектори на атака към парсера

Машината на състоянията за FSE декодиране на Zstandard трябва стриктно да валидира описанията на таблиците, за да предотврати невалидни скокове в състоянията.

Известни вектори на атака

  • Повредени FSE нормализирани таблици с броячи, причиняващи търсения извън границите на таблицата със състояния.
  • Препълване на цяло число по време на разпределение на буфер с голям прозорец.
  • Отказ от услуга чрез изтощаване на паметта за персонализиран речник.

Най-добри практики за защита: Валидирайте ограниченията на размера на прозореца на заглавката на рамката и ограничете максимално допустимите алокации на речник.

Исторически произход и етапи

2021IETF публикува Zstandard като RFC 8878; основните Linux дистрибуции (Arch, Fedora, Ubuntu) го приемат за пакетиране.
2018Linux Kernel 4.14 включва компресия Zstandard за файлови системи Btrfs и SquashFS.
2015Ян Коле пуска Zstandard във Facebook, въвеждайки технологията Finite State Entropy (FSE).

Основни предимства

  • Невероятна скорост на декомпресия: декомпресира с 1.5 - 3.0 GB/s на ядро, насищайки високоскоростни NVMe SSD дискове.
  • Силно гъвкава скала на компресия: предоставя 22 нива на компресия от светкавично бързи нива за работа в реално време до изключително висока степен на компресия за архивиране.
  • Обучението на потребителски речник позволява постигане на 3 до 5 пъти по-висока степен на компресия на малки записи като JSON и редове в база данни.

Технически ограничения и минуси

  • Малко по-голям отпечатък в паметта от по-стария Deflate по време на компресия на високо ниво с големи размери на прозорците.
  • Изисква модерни инструменти; по-старите Unix сървъри може да нямат предварително инсталирани помощни програми за zstd.
  • Суровите .zst потоци изискват контейнеризация (като TAR), за да запазят йерархиите на директориите.

Интересни технически факти

  • Zstandard използва Finite State Entropy (tANS) - пробив в асиметричните числени системи, разработен от Ярек Дуда, който постига границите на Шаноновата ентропия със скоростта на хардуер.
  • Arch Linux преминава от xz към zstd за архивите на пакетите си; проектът отчита значително по-бърза декомпресия, а размерът на пакетите и времето за инсталиране зависят от работния процес и хардуера.
  • Магическите байтове 0x28 0xB5 0x2F 0xFD бяха избрани така, че да бъдат лесно разпознаваеми и да се избягват сблъсъци със стари формати.

Често задавани технически въпроси

Защо Zstandard заменя Gzip в съвременните Linux системи?

Zstandard компресира файловете до по-малък размер от Gzip, като същевременно ги декомпресира 5 до 10 пъти по-бързо, което драстично намалява времето за инсталиране на софтуер и натовареността на сървърния процесор.

Какво представлява речниковата компресия (компресия с речник) в Zstd?

Zstd може да се обучава върху набор от малки файлове (като отговори от JSON API), за да създаде персонализиран речник, което позволява на следващите файлове да се компресират до 5 пъти по-малки чрез препратка към споделени модели.

Как мога да декомпресирам .zst или .zstd файл?

Можете да декомпресирате .zst и .tar.zst файлове директно във вашия уеб браузър с помощта на File2File.app, без да инсталирате инструменти с команден ред.