Zstandard-ström (.zst)
IETF StandardZstandard (Zstd) är Metas moderna komprimeringsalgoritm för förlustfri realtidskomprimering, som levererar komprimeringsgrader som kan jämföras med Deflate.
Konvertera ZSTD till GZIP
Gratis konverterare från ZSTD till GZIP i webbläsaren. Konvertera filer direkt på din enhet.
Granska och metadata
Operativsystem och filanalysverktyg identifierar Zstandard-filer genom att granska den inledande sekvensen av binära byte:
Signatur i filhuvudet på bytenivå (magiska byte)
Operativsystem och filanalysverktyg identifierar Zstandard-filer genom att granska den inledande sekvensen av binära byte:
HEX-SIGNATUR (OFFSET 0):
28 B5 2F FDASCII-REPRESENTATION: (µ/ý
Standardisering: IETF RFC 8878
Tekniska specifikationer
| Containerarkitektur | Ramhuvud med signaturen 0xFD2FB528, ramdeskriptor, datablock och valfri 32- eller 64-bitars kontrollsumma |
| Komprimering | Finite State Entropy-kodare (FSE) + Huffman-kodning + LZ77 med stora sökfönster (upp till 2 GB) |
| Byteordning | Little-endian byte- och bitströmsordning |
| Färgrymder | Ej tillämpligt (datakomprimeringsström) |
| Kanaler och struktur | Komprimering av generella byte-strömmar |
| Maximala dimensioner | Obegränsad datakapacitet vid strömning |
| Transparens | 100 % bitexakt återgivning av data utan kvalitetsförlust |
| Strömning och progressiv visning | Strömning med mycket hög genomströmning, utformad för att utnyttja fler-gigabitlänkar för NVMe och nätverk fullt ut |
Teknisk jämförelsematris: Zstandard jämfört med konkurrenter
| Tekniskt attribut | Zstandard (Aktuell) | GZ | BROTLI | LZ4 |
|---|---|---|---|---|
| Dekomprimeringshastighet | Ultrasnabb (1,5 - 3,0 GB/s) | Måttlig (~300 MB/s) | Snabb (~400 MB/s) | Mycket snabb (~4,0 GB/s) |
| Komprimeringsgrad | Högre än Gzip, matchar Bzip2 | Grundläggande standard | Högst på webbtext | Låg (fokus på hastighet) |
| Ordlisteträning | Specialtränade ordböcker | Ingen | Fast webb-ordlista på 120 KB | Ingen |
| Införande i moderna operativsystem | Linux-kärnan, Arch, Fedora, Btrfs | Tillgängligt i vissa äldre Unix-distributioner | Webbläsare och CDN-noder | Linux-kärnan & spelmotorer |
Vanliga skadeorsaker och hex-återställningsguide
Dekomprimeringsfel: 'ZSTD_error_checksum_wrong: Checksum verification failed'.
Grundorsak: Skadad byte i datablock som gör att verifieringen av 32-bitars eller 64-bitars xxHash misslyckas.
Återställning: Extrahera med '--force' för att kringgå kontrollsumman eller reparera med File2File.app Zstd Converter.
Säkerhetsanalys och attackvektorer för tolkar
Zstandards FSE-tillståndsmaskin för avkodning måste noggrant validera tabellbeskrivningar för att förhindra otillåtna hopp mellan tillstånd.
Kända attackvektorer
- Skadade normaliserade räknartabeller för FSE som orsakar tillståndstabelluppslagningar utanför gränserna.
- Heltalsspill under allokering av stora fönsterbuffertar.
- Tjänsteavbrott (DoS) genom att minnet för anpassade ordböcker tar slut.
Rekommenderade skyddsåtgärder: Validera ramhuvudets fönsterstorleksgränser och begränsa maximalt tillåtna ordboksallokeringar.
Historiskt ursprung och milstolpar
Viktiga fördelar
- Otrolig dekomprimeringshastighet: dekomprimerar i 1,5 till 3,0 GB/s per kärna, vilket mättar höghastighets-NVMe-SSD:er.
- Mycket flexibel komprimeringsskala: erbjuder 22 nivåer, från blixtsnabb realtidskomprimering till mycket hög komprimering för arkivering.
- Anpassad ordlisteträning gör det möjligt att uppnå 3 till 5 gånger bättre komprimering av små poster som JSON och databasrader.
Tekniska begränsningar
- Något större minnesåtgång än med äldre Deflate vid komprimering på hög nivå med stora fönsterstorlekar.
- Kräver moderna verktyg; äldre Unix-servrar saknar kanske förinstallerade zstd-verktyg.
- Råa .zst-strömmar måste paketeras i ett arkivformat, till exempel TAR, för att bevara kataloghierarkier.
Intressant teknisk kuriosa
- Zstandard använder Finite State Entropy (tANS), ett genombrott inom asymmetriska talsystem som utvecklades av Jarek Duda och når Shannon-entropigränser med hårdvarans hastighet.
- Arch Linux bytte sina paketeringsarkiv från xz till zstd. Projektet rapporterade betydligt snabbare dekomprimering i sitt paketeringsflöde, medan paketstorlekar och installationstider beror på arbetsbelastning och hårdvara.
- De magiska byten 0x28 0xB5 0x2F 0xFD valdes för att vara lätta att känna igen och undvika krockar med äldre format.
Vanliga tekniska frågor
Varför ersätter Zstandard Gzip i modern Linux?
Zstandard komprimerar filer till mindre storlek än Gzip samtidigt som det dekomprimerar 5 till 10 gånger snabbare, vilket avsevärt minskar installationstider för programvara och serverns CPU-användning.
Vad är ordbokskomprimering i Zstd?
Zstd kan träna på en uppsättning små filer (som JSON API-svar) för att skapa en anpassad ordbok, vilket gör att efterföljande filer kan komprimeras upp till 5 gånger mindre genom att referera till delade mönster.
Hur kan jag dekomprimera en .zst- eller .zstd-fil?
Du kan dekomprimera .zst- och .tar.zst-filer direkt i din webbläsare med File2File.app utan att installera kommandoradsverktyg.