Cookie di statistica e di pubblicità
Usiamo cookie di statistica e di pubblicità, entrambi inviati a Google. Rifiutare non cambia niente di quello che vedi.Leggi la pagina sulla privacy
Qui converti ZIP in GZ gratis e senza account: trascina il file qui sopra e in un paio di secondi il risultato è pronto da scaricare. Il file viaggia cifrato fino al nostro server, viene convertito lì e viene cancellato appena il lavoro finisce.
Fino a 100 file alla volta. Formati diversi insieme non sono un problema.
Vengono convertiti uno dopo l’altro e scaricati insieme in uno ZIP.
ZIP in GZ
Quasi tutti quelli che vogliono questa conversione l’hanno letta da qualche parte. Un pannello di hosting chiede un .tar.gz, uno script di deploy scompatta il proprio pacchetto con tar, la documentazione di importazione di un cliente nomina l’estensione, oppure una macchina Linux dall’altra parte ha tar e nulla che legga uno ZIP senza installare qualcosa prima. L’archivio che hai è uno ZIP perché è quello che Windows e macOS creano di default.
Lo scopo quindi è la conformità, non la compressione. Una volta che il file ha la forma attesa dall’altra parte, il lavoro è finito — e il resto di questa pagina riguarda soprattutto cosa sia davvero quella forma, perché è l’unica cosa che la conversione non può nascondere.
È il fatto su cui gira tutta la coppia. GZ, specificato nell’RFC 1952 e risalente al 1992, comprime un singolo flusso di byte. Non memorizza nessun elenco di membri, nessun percorso, nessuna cartella.
Uno ZIP, al contrario, è un contenitore: un insieme di voci compresse indipendentemente con un indice alla fine che dice dove vive ciascuna. Non c’è modo di versare il secondo nel primo direttamente. Qualcosa deve appiattire i molti file in un unico flusso prima che gzip possa toccarli, e quel qualcosa è TAR.
La procedura crea un TAR dei contenuti scompattati e comprime quel tarball con gzip. Il file che ottieni ha quindi due strati: uno stream gzip all’esterno, un archivio tar all’interno, i tuoi file dentro quello. Qualunque macchina Unix scompatterà entrambi in un solo passaggio.
Il nome è la cosa che sembra strana. I download qui prendono il nome originale e l’estensione di destinazione, quindi photos.zip torna come photos.gz e non come photos.tar.gz. Rinominalo se qualcosa a valle è pignolo sulle estensioni, e ricorda che scompattarlo con un semplice strumento gzip lascia comunque in mano un .tar da aprire dopo.
Ci si aspetta che una conversione valga qualcosa in byte, e questa non lo vale. Entrambi i formati comprimono con DEFLATE e guardano indietro attraverso una finestra di 32 KB, quindi trovano le stesse ripetizioni e producono un peso simile sugli stessi dati. Stai cambiando contenitore, non compressore.
C’è una differenza strutturale che può andare in entrambe le direzioni. Lo ZIP comprime ogni voce separatamente e gzip vede un unico flusso tar continuo, quindi un archivio di molti file piccoli e simili può comprimere un po’ meglio come tarball, mentre lo strato tar aggiunge il proprio riempimento a blocchi da 512 byte. Se lo scopo è davvero un file più piccolo, converti lo ZIP in XZ invece.
Uno stream gzip può portare il nome originale del file e la data di modifica di ciò che ha compresso, ed è una differenza reale dai suoi due parenti: BZ2 e XZ non memorizzano alcun nome. È un dettaglio piccolo con una conseguenza visibile — scompattare un .gz spesso restituisce un file con un nome sensato.
Qui quel nome è output.tar, perché è il tarball a essere stato compresso. Vale la pena saperlo quando si scompatta il download a mano e ci si chiede dove sia finito il nome originale: sta sul file esterno, che hai scelto tu, e il tar interno porta il nome che la pipeline ha dato al passaggio intermedio.
Il gzip che il browser negozia come codifica di trasferimento non è lo stesso file .gz che scarichi qui. Nel primo caso il server comprime una risposta, il browser la decomprime prima che qualcosa la veda, e non è coinvolto nessun file. È il motivo per cui tutto il web è gzippato e nessuno se ne accorge.
Un file .gz scaricato è diverso: il browser lo tratta come un file opaco e lo salva così com’è, perché la compressione è il contenuto, non il trasporto. Né Windows né macOS lo scompattano nativamente, quindi chi lo riceve ha bisogno di 7-Zip o di una shell — un buon motivo per lasciare un archivio come ZIP quando va a una persona e non a un server.
Se il tuo ZIP contiene un solo file, il disallineamento di cui parla questa pagina sparisce: un solo file è esattamente ciò per cui GZ è stato pensato, e il risultato è la cosa semplice e idiomatica: un flusso compresso, nessun contenitore, nessuna ambiguità su cosa ci sia dentro.
La pipeline instrada comunque tutto attraverso lo stesso passaggio tar per coerenza, quindi ciò che scarichi resta un tarball gzippato piuttosto che un gzip del file stesso. Se serve davvero quest’ultimo — un .sql.gz o un .log.gz per uno strumento che legge esattamente quello — è meglio farlo localmente con gzip.
A differenza della maggior parte delle conversioni su questo sito, questa lascia il tuo dispositivo. Lo ZIP viene caricato su una connessione cifrata, scompattato e ricompattato da 7-Zip sul nostro convertitore, e restituito; il caricamento, il tar intermedio e l’output vengono cancellati alla fine del lavoro, e la cartella di lavoro è su memoria volatile e sparisce con il contenitore.
Questo fissa i limiti: 25 MB per file sul livello gratuito, sessanta secondi per lavoro prima che venga interrotto, e un rifiuto per qualunque archivio che dichiari di espandersi oltre 2 GB. Uno ZIP protetto da password si ferma qui con un messaggio invece di restare appeso, perché lo strumento di estrazione riceve una password vuota di proposito, così segnala il problema invece di aspettarne una.
Tutti e tre gli obiettivi producono la stessa forma tar-dentro-un-compressore e differiscono solo nel compressore intorno. GZ guarda indietro attraverso una finestra di 32 KB, è il più veloce dei tre ed è installato ovunque. BZ2 ordina blocchi fino a 900 KB e comprime il testo meglio di gzip. XZ porta un dizionario fino a 64 MB e produce il file più piccolo dei tre, al costo del tempo di impacchettamento più lungo.
La scelta è spesso già fatta da ciò che stai alimentando. Strumenti di deploy, livelli di container e la maggior parte degli endpoint di upload danno per scontato gzip; le release di codice sorgente sono passate in gran parte a xz; bz2 compare quasi solo quando si abbina un archivio fatto anni fa. Senza nessun vincolo, gzip resta la scelta prudente.
| ZIP | GZ | |
|---|---|---|
| Nome completo | Archivio ZIP | Archivio Gzip |
| Estensione del file | .zip | .gz, .tgz |
| Tipo di media | application/zip | application/gzip |
| Compressione | Senza perdita — non si butta via niente | Senza perdita — non si butta via niente |
| Prima pubblicazione | 1989 | 1992 |
| Pubblicato da | PKWARE | — |
| Specifica | APPNOTE.TXT | RFC 1952 |
| Licenza | Standard aperto | Standard aperto |
| Situazione attuale | Attuale | Attuale |
| Si apre nel browser | Nessun browser | Nessun browser |
| Valutato al suo posto | 7Z, TAR | BZ2, XZ |
Non si scarta nulla. ZIP e GZ salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.
GZ comprime un singolo flusso e non può contenere una cartella. È proprio per questo che GZ viene di solito abbinato a un formato di archivio: l'archivio raccoglie i file, GZ comprime il risultato.
7-Zip legge sia ZIP sia GZ, quindi puoi confrontare il risultato con l'originale senza un secondo programma.
I due puntano a lavori diversi: ZIP a spostare dati fra programmi e consegnare un file finito, GZ a il web e l'archiviazione. Vale la pena valutarlo prima, perché il motivo per cui esiste uno è di solito il motivo per cui l'altro risulta scomodo.
ZIP è il formato di PKWARE, pubblicato nel 1989. È descritto in APPNOTE.TXT, e vale la pena conoscerlo se il file deve sopravvivere allo strumento che lo ha scritto.
GZ risale al 1992, descritto in RFC 1952. gzip, 7-Zip e Keka lo leggono.
Sì: questa conversione ha bisogno di un software che in un browser non può girare. Il file viaggia cifrato fino al nostro server, viene cancellato appena il lavoro finisce e il risultato dopo 60 minuti. Il lavoro lo fa 7-Zip, l’archiviatore, nella sua forma da riga di comando.
Sì, fino a 100 conversioni al giorno per file fino a 25 MB. Quell’unico limite esiste perché questa conversione gira su un server che paghiamo noi. Per il resto qui non c’è niente di limitato, e la filigrana non c’è in nessun caso. Il limite esiste perché 7-Zip ha bisogno di una nostra macchina per girare.
No. GZ conserva lo stesso contenuto senza buttare via niente: il risultato è identico in qualità all’originale. I file escono identici byte per byte. Quello che non sopravvive è ciò che il contenitore sapeva *su* di loro e non ciò che teneva *dentro* di loro: una password e, su alcuni formati, i permessi e le date originali.
GZ comprime un singolo flusso e non può contenere una cartella. È proprio per questo che GZ viene di solito abbinato a un formato di archivio: l'archivio raccoglie i file, GZ comprime il risultato.
Non si scarta nulla. ZIP e GZ salvano il contenuto senza perdita: la conversione cambia la confezione, non la qualità, e si può ripetere senza che i danni si accumulino.
Quello che questa pagina afferma su ZIP e GZ si può verificare, e questi sono i documenti che chiudono la questione.