Co to jest format pliku ZST?
Plik .zst to plik skompresowany Zstandard, utworzony przez narzędzie do kompresji zstd, pierwotnie opracowane w Meta (Facebook) przez Yann Collet i wydane w 2015 roku. Format został sformalizowany w 2018 roku jako RFC 8478.
Zstandard to jednostrumieniowy kompresor bezstratny - pakuje on jeden strumień danych, a nie kolekcję plików. Aby skompresować wiele plików razem, standardową praktyką jest najpierw utworzenie archiwum .tar, a następnie skompresowanie go za pomocą zstd, co daje powszechnie spotykaną formę .tar.zst. Oba formaty współdzielą te same 4-bajtowe magiczne bajty ramki (28 B5 2F FD na offsetcie bajtowym 0).
Format ten wypełnia lukę między kompresorami nastawionymi na szybkość, takimi jak .gz, a tymi nastawionymi na stopień kompresji, jak .xz: osiąga stopnie kompresji klasy xz przy prędkościach porównywalnych lub wyższych niż gzip. Poziomy kompresji mieszczą się w zakresie od 1 (najszybszy) do 22 (najlepszy stopień), z opcjonalnym trenowaniem słownika dla małych lub strukturalnie podobnych plików. Opcjonalna, skrócona suma kontrolna xxHash-64 w stopce ramki chroni integralność danych.
.zst znajduje szerokie zastosowanie w rzeczywistych scenariuszach:
- Pakiety Arch Linux są dostarczane jako
.pkg.tar.zst - Debian używa Zstandard dla wewnętrznych elementów plików
.deb - Jądro Linux obsługuje obrazy initramfs skompresowane za pomocą Zstandard
- Btrfs i OpenZFS oferują
zstdjako opcję przezroczystej kompresji na dysku
Bezpieczeństwo
RYZYKO: LOWZstandard to format kompresji pozbawiony kodu wykonywalnego i skryptów, więc sam kontener jest bezpieczny; ryzyko wynika wyłącznie z tego, co znajduje się WEWNĄTRZ (np. wypakowane pliki wykonywalne lub skrypty) - należy skanować wypakowaną zawartość jak zwykle. Zniekształcony plik .zst nie może uruchomić kodu, choć ekstremalnie wysokie stopnie kompresji oznaczają, że maleńki plik może rozrosnąć się do ogromnych rozmiarów (w stylu „bomby zip”), więc należy uważać na archiwa z niezaufanych źródeł. Zstandard nie szyfruje danych - wrażliwe dane wymagają oddzielnego szyfrowania.
Szczegóły formatu
w pigułce- Zapis stanu emulatora SNES ZSNES - Stary ZSNES (emulator Super Nintendo) zapisywał stany gier jako .zst; rzadkie, przestarzałe znaczenie niezwiązane z kompresją Zstandard.
Programy otwierające pliki ZST
Szczegóły techniczne
specyfikacja| Magiczne bajty | 28 B5 2F FD (hex), little-endian 0xFD2FB528, na offsetcie bajtowym 0 |
| Typ MIME | application/zstd (również application/x-zstd) |
| Kodowanie | Binarne |
| Kolejność bajtów | Little-endian |
| Algorytm kompresji | Wyszukiwanie dopasowań w stylu LZ77 połączone z kodowaniem entropijnym FSE/tANS (Asymmetric Numeral Systems) |
| Poziomy kompresji | 1-22; --fast dla prędkości poniżej poziomu 1; --ultra dla stopni kompresji powyżej poziomu 19 |
| Obsługa słowników | Tak; wytrenuj własny słownik za pomocą zstd --train, aby poprawić stopień kompresji małych lub strukturalnie podobnych plików |
| Suma kontrolna zawartości | Opcjonalna 32-bitowa skrócona suma xxHash-64 przechowywana w stopce ramki; włączana flagą --check |
| Typy ramek | Standardowe ramki (magic 28 B5 2F FD) oraz ramki pomijalne (zakres magic 50 2A 4D 18 - 5F 2A 4D 18) |
| Obsługa wielu plików | Brak natywnej; najpierw połącz pliki za pomocą tar (tworząc .tar.zst) lub użyj zstd -r dla rekurencyjnej kompresji katalogów |
| Dopasowywanie dalekiego zasięgu | Opcjonalny tryb LDM (flaga --long) rozszerza efektywne okno dopasowań; poprawia stopień kompresji dużych plików z odległymi powtórzeniami |
| Rozmiar okna | Do 2 GB przy standardowych poziomach; tryb LDM rozszerza efektywny zakres dopasowań poza domyślne okno |
| Strumieniowanie | Pojedynczy ciągły strumień; rozszerzenie Zstandard Seekable Format wykorzystuje ramki pomijalne, aby umożliwić dekompresję z dostępem swobodnym |
| Powiązane platformy | Linux, Windows, macOS, BSD - wieloplatformowa biblioteka referencyjna (libzstd) dostępna dla wszystkich głównych systemów operacyjnych |
| Wydano | 2015 (zstd released by Facebook); format standardized as RFC 8478 (2018) |
| Najnowsza wersja | Zstandard frame format per RFC 8478; reference library zstd 1.5.x (skippable frames, dictionaries, long-distance matching) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | datatracker.ietf.org |
Konwersje ZST
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki ZST.