Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
Hier zet je GZ naar 7Z om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. Het bestand reist versleuteld naar onze server, wordt daar omgezet en wordt gewist zodra het werk klaar is.
Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.
Ze worden een voor een omgezet en samen in één ZIP gedownload.
GZ naar 7Z
Het moment dat mensen hier brengt is specifiek. Er komt een bestand binnen met een naam als project-4.2.tar.gz, Windows biedt geen voor de hand liggende manier om het te openen, een archiefprogramma wordt geïnstalleerd, en het resultaat van uitpakken is één bestand genaamd project-4.2.tar — dat vervolgens opnieuw uitgepakt moet worden. Er is niets stuk, dat is gewoon wat het formaat is.
Aan de Unix-kant van deze overdracht bestaat dat probleem niet, want tar xzf doet beide lagen in één commando. Deze omzetting is er voor de andere kant: de analist, de Windows-ontwikkelaar, iemand met een serverexport die één configuratiebestand erin moet vinden. Een 7Z is één archief met een echte inhoudsopgave.
TAR, uit 1979 en gestandaardiseerd als ustar in POSIX.1-1988, is een bundelaar zonder compressor: het schrijft de leden na elkaar met een kopje ervoor dat naam, pad, grootte, rechten en tijdstempels vastlegt. Het maakt niets kleiner. GZ, gedefinieerd in RFC 1952 uit 1996, is het omgekeerde: het comprimeert één stream en heeft geen veld voor een naam, pad of tweede lid.
Geen van beide schiet tekort — ze zijn ontworpen om samen te werken, waardoor .tar.gz de oudste en meest duurzame conventie in de Unix-wereld is. Een 7Z, uit 1999, doet beide taken in één formaat: het heeft een inhoudsopgave met namen, paden en checksums per item, en comprimeert ze met LZMA2.
De gzip-stream wordt eerst gedecomprimeerd, wat precies één ding oplevert, want dat is alles wat een gzip-stream kan bevatten. Is dat ene ding een TAR, dan wordt die op zijn beurt uitgepakt en worden de bestanden erin de leden van de 7Z. Is het een gewoon bestand, dan blijft het zoals het is en wordt het het enige lid.
Het uitpakken van de binnenste TAR gebeurt door het tar-type af te dwingen in plaats van op de bestandsnaam te vertrouwen — een detail dat hier eerst een echte bug was en pas daarna een ontwerpkeuze. Gzip bewaart de oorspronkelijke bestandsnaam in zijn header, maar XZ en BZ2 bewaren geen naam, waardoor dezelfde tarball ooit «input» heette en de controle hem miste.
Het venster is het hele argument. Gzip comprimeert binnen 32 KB geschiedenis, dus een licentiekop die in tweehonderd broncodebestanden voorkomt, wordt tweehonderd keer opnieuw vanaf nul gecomprimeerd. 7Z gebruikt LZMA2 met een woordenboek tot 64 MB, groot genoeg om het hele archief te omvatten voor de meeste bestanden die mensen omzetten.
Dat is ook waarom de besparing onvoorspelbaar is in plaats van een vast percentage. Een broncodeboom of een map met configuratiebestanden krimpt flink; een tarball met JPEG’s of MP3’s beweegt nauwelijks, want de redundantie in die bestanden was al verwijderd door hun eigen codecs voordat het archiveren begon.
Dit is het praktische voordeel dat mensen echt merken, los van de bestandsgrootte. Een 7Z legt zijn items vast in het archief zelf, dus een archiefprogramma kan elk pad en elke grootte in een bestand van 500 MB tonen in de tijd die het kost om een paar kilobyte van het eind te lezen.
Een gezipte tarball kan dat helemaal niet. De namen zitten in de TAR, de TAR zit in de gecomprimeerde stream, en de stream moet vanaf het begin gedecomprimeerd worden om erbij te komen — er is geen index en nergens om er een te plaatsen.
Een TAR-kop legt de eigenaar, groep, rechtenbits en wijzigingstijd van elk lid vast, en voor veel tarballs is dat geen bijzaak — een release met een buildscript erin is erop aangewezen dat het script uitvoerbaar aankomt. De aantekening bij dit paar in het register is bewust onvleiend: de bestanden komen byte voor byte over, maar wat de oude container erover vastlegde in plaats van erin, overleeft mogelijk niet.
Is de tarball een deploymentartefact of iets dat op een Unix-machine uitgepakt en uitgevoerd gaat worden, test de omzetting naar 7Z dan in plaats van hem aan te nemen. Is het een verzameling documenten, een dataset of een broncodeboom die je op Windows gaat lezen, dan maakt niets ervan uit.
Het register noemt wisselvallige ondersteuning een bekend probleem van 7Z, en dat is het eerlijke tegenwicht van alles hierboven. Windows Verkenner opent een ZIP zonder iets te installeren en opent geen 7Z; de Finder van macOS is hetzelfde. 7-Zip, Keka en PeaZip verwerken het allemaal, maar moeten eerst geïnstalleerd worden.
Dat maakt 7Z uitstekend voor een archief dat je bewaart en zwak voor een archief dat je verstuurt. Ga je het resultaat doorsturen, kies dan ZIP — het enige archiefformaat dat overal opent zonder gesprek over welke tool nodig is.
Deze omzetting draait op onze server, niet in je browser. De meeste tools op deze site houden het bestand op je apparaat; archieven zijn een van de uitzonderingen, omdat het werk 7-Zip als echt programma nodig heeft. Het bestand reist over een versleutelde verbinding naar een container zonder eigen uitgaande internettoegang.
De taak krijgt een tijdelijke map op een geheugengebaseerd bestandssysteem die na afloop altijd wordt verwijderd, en wordt na zestig seconden afgebroken. Voordat er iets wordt uitgepakt, wordt gevraagd wat het archief opgeeft uit te pakken, en een opgave boven 2 GB wordt geweigerd.
Open het resultaat en vergelijk de bestandslijst voordat je iets verwijdert. Het aantal en de paden zijn wat telt: dit is een lossless herpak, dus een verschil is nooit een beschadigd bestand, het is een structurele verrassing — meestal een hoofdmap die in het ene wel en het andere niet aanwezig is.
7-Zip heeft een testcommando dat elk item tegen zijn opgeslagen checksum verifieert zonder iets naar schijf te schrijven, en dat is dertig seconden waard bij elk archief dat je wilt bewaren. Bevatte de .gz maar één bestand, dan bevat de 7Z correct dat ene bestand, en verwachtte je een map, dan was het origineel nooit een tarball.
| GZ | 7Z | |
|---|---|---|
| Volledige naam | Gzip-archief | 7-Zip-archief |
| Bestandsextensie | .gz, .tgz | .7z |
| Mediatype | application/gzip | application/x-7z-compressed |
| Compressie | Zonder verlies — er gaat niets weg | Zonder verlies — er gaat niets weg |
| Voor het eerst gepubliceerd | 1992 | 1999 |
| Specificatie | RFC 1952 | — |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Actueel |
| Opent in een browser | Geen browser | Geen browser |
| In plaats daarvan overwogen | BZ2, XZ, ZIP | ZIP, XZ |
Er gaat niets verloren. GZ en 7Z bewaren hun inhoud verliesvrij: de omzetting wisselt de verpakking, niet de kwaliteit, en je kunt haar herhalen zonder dat schade zich opstapelt.
7Z is een werkformaat en GZ een af formaat. Wat terugkomt is bewerkbare tekst in plaats van een afbeelding van de pagina, meestal de reden voor de omzetting en tegelijk haar grens.
7Z bevat een hele map, waar GZ één gecomprimeerde stroom is. Namen, mappen en datums worden vastgelegd in plaats van in één blok te verdwijnen.
7-Zip en Keka lezen zowel GZ als 7Z, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.
7Z werkt met 16 MB tegelijk, GZ met 32 KB: binnen dat stuk moet een herhaling vallen voordat ze weggerekend kan worden. Daar komt het verschil in compressie vandaan, en daar gaat de extra rekentijd heen.
GZ verscheen in 1992. Het is vastgelegd in RFC 1952, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.
7Z stamt uit 1999. 7-Zip, Keka en PeaZip lezen het formaat.
Ja: deze omzetting heeft software nodig die niet in een browser draait. Het bestand reist versleuteld naar onze server, wordt gewist zodra het werk klaar is en het resultaat na 60 minuten. Het werk wordt gedaan door 7-Zip, de archiveerder, in zijn opdrachtregelvorm.
Ja, tot 100 omzettingen per dag voor bestanden tot 25 MB. Die ene grens bestaat omdat deze omzetting op een server draait die wij betalen. Verder is er hier niets begrensd, en een watermerk komt er in geen geval op. De limiet bestaat omdat 7-Zip een machine van ons nodig heeft om te draaien.
Nee. 7Z bewaart dezelfde inhoud zonder iets weg te gooien: het resultaat is in kwaliteit identiek aan het origineel. De bestanden komen er byte voor byte hetzelfde uit. Wat het niet overleeft is wat de houder *over* ze wist en niet wat hij *in* zich had: een wachtwoord, en bij sommige formaten de oorspronkelijke rechten en datums.
7Z bevat een hele map, waar GZ één gecomprimeerde stroom is. Namen, mappen en datums worden vastgelegd in plaats van in één blok te verdwijnen.
Er gaat niets verloren. GZ en 7Z bewaren hun inhoud verliesvrij: de omzetting wisselt de verpakking, niet de kwaliteit, en je kunt haar herhalen zonder dat schade zich opstapelt.
7Z is een werkformaat en GZ een af formaat. Wat terugkomt is bewerkbare tekst in plaats van een afbeelding van de pagina, meestal de reden voor de omzetting en tegelijk haar grens.