So dekodieren Sie Base64 in eine ZIP-Datei
- Fügen Sie das Base64 in Base64 oder Data-URI ein oder öffnen Sie eine Textdatei, die es enthält, mit .txt-Datei öffnen.
- Die Zusammenfassung zeigt die Anzahl der Dateien und Ordner, die entpackte Größe mit dem Anteil, den die Komprimierung spart, einen etwaigen Archivkommentar und ob das Archiv ZIP64 verwendet oder geschützte Einträge enthält.
- Die Tabelle listet jeden Eintrag mit Größe, gepackter Größe (Gepackt) und Datum (Geändert) auf, dazu die Schaltflächen Ansehen und Speichern.
- Mit Datei herunterladen speichern Sie das Archiv selbst.
Aufgelistet werden bis zu 500 Einträge; bei größeren Archiven sagt eine Zeile, wie viele es noch gibt. Entpackt wird erst, wenn Sie eine Schaltfläche drücken, und alles geschieht in Ihrem Browser. Die Content Security Policy der Seite verbietet Netzwerkanfragen außer dem Seitenaufrufzähler von Cloudflare, das Archiv kann also nicht hochgeladen werden.
Eine einzelne Datei aus dem Archiv öffnen
Ansehen entpackt einen Eintrag und zeigt ihn unter der Tabelle an: Bilder, PDFs, Audio und Video, Text und JSON, sogar ein ZIP im ZIP, bis zu drei Ebenen tief. Speichern lädt diese eine Datei unter ihrem eigenen Namen herunter, ohne den Ordnerpfad. Jeder extrahierte Eintrag wird mit der im Archiv gespeicherten CRC-32 abgeglichen, und eine Abweichung wird als „Prüfsumme stimmt nicht: Dieser Eintrag ist beschädigt.“ gemeldet.
Die Auflistung kommt mit Archiven zurecht, über die gewöhnliche Programme stolpern:
- ZIP64-Archive, verwendet für Dateien über 4 GB oder mehr als 65.535 Einträge.
- Dateinamen in UTF-8, in der alten DOS-Codepage 437 älterer Windows-Tools oder mit einem Info-ZIP-Unicode-Pfadfeld.
- Selbstentpackende Archive und andere ZIPs mit zusätzlichen Daten davor.
- Abgeschnittene Archive: Fehlt das Verzeichnis am Ende, stellt das Tool die Einträge aus den Headern vor jeder Datei wieder her und meldet „Das zentrale Verzeichnis fehlt (die Daten wirken abgeschnitten).“ Einträge, deren Daten abgeschnitten wurden, melden, dass sie fehlen.
Klassische ZIP-Zeitstempel haben keine Zeitzone, Geändert zeigt also das, was die Uhr auf dem Rechner anzeigte, der das Archiv erstellt hat. Trägt ein Eintrag zusätzlich einen Unix-Zeitstempel in einem Extra-Feld, wird dieser verwendet und in Ihrer Ortszeit angezeigt.
Was sich extrahieren lässt
| Eintrag | Aufgelistet | Ansehen und Speichern |
|---|---|---|
| Stored (Methode 0) | Ja | Ja |
| Deflate (Methode 8) | Ja | Ja |
| Deflate64, BZIP2, LZMA, Zstandard, XZ, PPMd | Ja, mit der Methode in Klammern | Nein: „Die Komprimierungsmethode BZIP2 wird im Browser nicht unterstützt.“ |
| Verschlüsselt, ZipCrypto oder AES | Ja, markiert mit [geschützt] | Nein: „Dieser Eintrag ist passwortgeschützt: Er kann aufgelistet, aber nicht extrahiert werden.“ |
| Ordner | Ja | Nein |
Archive aus Windows, macOS und dem Befehl zip verwenden Deflate. Die anderen Methoden stammen meist aus 7-Zip oder WinZip, wenn jemand sie für ein besseres Kompressionsverhältnis gewählt hat.
Der Schutz vor Zip-Bomben
Komprimierung kann aus einem kleinen Download eine riesige Datei machen. 100 MiB Nullen werden mit Deflate zu etwa 100 KB, und verschachtelte oder präparierte Archive treiben das noch viel weiter. Bevor das Tool einen Eintrag entpackt, prüft es die im Archiv angegebene Größe und lehnt alles über 64 MB mit der Meldung „Bei 64.0 MB entpackten Daten abgebrochen: zu groß zum Entpacken im Browser (mögliche Zip-Bombe). Laden Sie stattdessen das Archiv herunter.“ ab. Beim Entpacken hält es außerdem bei der angegebenen Größe plus 1 KB an, sodass ein Eintrag, der bei seiner Größe lügt, nicht über das Angegebene hinauswachsen kann.
Die Zusammenfassung meldet trotzdem die angegebene Gesamtgröße, und das ist schon für sich eine nützliche Warnung: Ein Archiv von ein paar hundert Kilobyte, das sich auf Gigabytes entpackt, verdient Misstrauen, bevor Sie es mit irgendeinem Tool extrahieren.
Ist es wirklich ein ZIP?
ZIP-Dateien beginnen mit PK und zwei Bytes, das ist UEsDB in Base64; ein leeres Archiv beginnt mit UEsFBg. Viele Formate sind ZIP-Archive unter anderem Namen, und das Tool sagt, welches: DOCX, XLSX, PPTX, EPUB, ODT, JAR, APK. Sie alle lassen sich hier auflisten und extrahieren; Office-Dokumente bekommen außerdem eine Textvorschau unter Base64 in Word und Base64 in Excel.
Andere Archivformate sind kein ZIP. Das Tool entpackt gzip, aber nicht 7-Zip oder RAR:
| Base64 beginnt mit | Format | Was passiert |
|---|---|---|
H4sI | gzip (.gz, .tar.gz) | Entpackt und angezeigt, mit Als .gz herunterladen |
N3q8ryc | 7-Zip | „Erwartet: ZIP, erkannt: 7-Zip.“ |
UmFyIRo | RAR | „Erwartet: ZIP, erkannt: RAR.“ |
Bei 7-Zip und RAR bleibt die Endung auf zip. Tragen Sie dort vor dem Herunterladen 7z oder rar ein, sonst versucht Ihr System, die Datei als ZIP zu öffnen, und scheitert.
Base64-ZIP in Python entpacken
zipfile liest direkt aus den dekodierten Bytes, es muss also vorher nichts auf die Festplatte geschrieben werden:
import base64, io, zipfile
with open("archive.b64") as f:
data = base64.b64decode(f.read())
with zipfile.ZipFile(io.BytesIO(data)) as z:
for info in z.infolist():
print(f"{info.filename:20} {info.file_size:>8} method={info.compress_type}")
z.extract("docs/readme.txt", "out")
Die Spalte method zeigt dieselben Zahlen wie die Tabelle oben: 0 für Stored, 8 für Deflate, 12 für BZIP2, 14 für LZMA. Python extrahiert alle vier. In der Shell listet base64 -d archive.b64 > archive.zip && unzip -l archive.zip den Inhalt auf. Wie Sie eine solche Zeichenkette aus Dateien erzeugen, zeigen ZIP in Base64 und Base64 in Python.
Häufige Fragen
Wie wandle ich Base64 in eine ZIP-Datei um?
Fügen Sie die Zeichenkette oben ein und klicken Sie auf Datei herunterladen, um decoded.zip zu speichern. Wollen Sie stattdessen eine einzelne Datei herausholen, klicken Sie in der Liste daneben auf Speichern.
Kann ich hier ein passwortgeschütztes ZIP öffnen?
Die Einträge werden mit der Markierung [geschützt] aufgelistet, lassen sich im Browser aber nicht extrahieren. Laden Sie das Archiv herunter und öffnen Sie es mit 7-Zip, unzip oder dem Archivprogramm Ihres Systems, das nach dem Passwort fragt.
Warum meldet ein Eintrag, seine Komprimierungsmethode werde nicht unterstützt?
Browser können nur Deflate entpacken, die Methode, die fast jedes ZIP verwendet. Einträge, die mit BZIP2, LZMA, Deflate64, Zstandard oder PPMd gepackt wurden, meist von 7-Zip oder WinZip, werden aufgelistet, müssen aber mit einem Desktop-Tool oder mit Pythons zipfile extrahiert werden, das BZIP2 und LZMA liest.
Mein Base64 beginnt mit H4sI. Ist das ein ZIP?
Nein, das ist gzip. Das Tool meldet GZIP, entpackt es und zeigt den Inhalt; ein .tar.gz enthält ein TAR-Archiv. Als .gz herunterladen speichert es mit der richtigen Endung.