Zstandard-ström (.zst)

IETF Standard

Zstandard (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:

Välj eller släpp filer här

Privat - filer lämnar aldrig din enhet

eller klistra in Ctrl+V
Integritetsgaranti utan nätverksöverföring: 0 byte laddades upp till externa servrar. All bearbetning skedde lokalt i webbläsarens sandlåda.

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 FD

ASCII-REPRESENTATION: (µ/ý

Standardisering: IETF RFC 8878

Tekniska specifikationer

ContainerarkitekturRamhuvud med signaturen 0xFD2FB528, ramdeskriptor, datablock och valfri 32- eller 64-bitars kontrollsumma
KomprimeringFinite State Entropy-kodare (FSE) + Huffman-kodning + LZ77 med stora sökfönster (upp till 2 GB)
ByteordningLittle-endian byte- och bitströmsordning
FärgrymderEj tillämpligt (datakomprimeringsström)
Kanaler och strukturKomprimering av generella byte-strömmar
Maximala dimensionerObegränsad datakapacitet vid strömning
Transparens100 % bitexakt återgivning av data utan kvalitetsförlust
Strömning och progressiv visningStrö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 attributZstandard (Aktuell)GZBROTLILZ4
DekomprimeringshastighetUltrasnabb (1,5 - 3,0 GB/s)Måttlig (~300 MB/s)Snabb (~400 MB/s)Mycket snabb (~4,0 GB/s)
KomprimeringsgradHögre än Gzip, matchar Bzip2Grundläggande standardHögst på webbtextLåg (fokus på hastighet)
OrdlisteträningSpecialtränade ordböckerIngenFast webb-ordlista på 120 KBIngen
Införande i moderna operativsystemLinux-kärnan, Arch, Fedora, BtrfsTillgängligt i vissa äldre Unix-distributionerWebbläsare och CDN-noderLinux-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

2021IETF publicerar Zstandard som RFC 8878; stora Linux-distributioner (Arch, Fedora, Ubuntu) antar det för paketering.
2018Linux Kernel 4.14 införlivar Zstandard-komprimering för Btrfs- och SquashFS-filsystem.
2015Yann Collet släpper Zstandard på Facebook och introducerar tekniken Finite State Entropy (FSE).

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.