Ascii85 und Base85 kodieren

Ascii85 und Base85 kodieren und dekodieren: Adobe-Variante mit <~ ~> wie in PDF, Ascii85 ohne Rahmen und Z85 von ZeroMQ, für Text und Hex.

Eingabe
Ergebnis

Alles läuft in Ihrem Browser. Eingaben verlassen Ihr Gerät nicht.

Ascii85, Base85 und Z85 im Vergleich

Ascii85, auch Base85 genannt, fasst je vier Bytes zu einer Zahl zusammen und schreibt sie als fünf druckbare Zeichen von ! bis u. Das Ergebnis ist nur etwa 25 Prozent größer als die Ausgangsdaten, bei Base64 sind es 33 Prozent. Vier Null-Bytes kürzt Ascii85 zu einem einzelnen „z“ ab. Am Ende wird eine unvollständige Gruppe aufgefüllt und entsprechend gekürzt ausgegeben.

Die Variante Adobe Ascii85 rahmt den Text mit <~ und ~> ein. Sie steckt in PostScript und in PDF-Dateien, wo der Filter PDF ASCII85Decode Bilddaten und Streams wieder in Bytes verwandelt. Z85 ist die Variante von ZeroMQ mit einem anderen Alphabet ohne Anführungszeichen und Backslash, damit sie sich gefahrlos in Quelltext und JSON einbetten lässt; sie verlangt eine Länge, die durch vier teilbar ist, und kennt keine z-Abkürzung. Mit dem Beispiel „Man is distinguished“ sehen Sie das bekannte Ergebnis 9jqo^BlbD-BleB1DJ+*+F(f,q.

Zum Ascii85 dekodieren fügen Sie den Text mit oder ohne Rahmen ein, Leerraum und Zeilenumbrüche werden ignoriert. Ist das Ergebnis kein gültiges UTF-8, erscheint es als Hex. Andere Base85-Alphabete wie das aus RFC 1924 für IPv6-Adressen oder das von Git unterstützt das Werkzeug nicht. Für die verbreitetere Kodierung nutzen Sie den Base64-Kodierer.

Anleitung: Ascii85 in 4 Schritten

  1. Unter „Richtung“ Kodieren oder Dekodieren wählen.
  2. Die Variante festlegen: Ascii85 Adobe mit <~ ~>, Ascii85 ohne Rahmen (btoa) oder Z85 (ZeroMQ).
  3. Angeben, ob die Daten als Text (UTF-8) oder als Hex-Bytes vorliegen, und die Eingabe einfügen.
  4. Optional die Ausgabe nach 75 Zeichen umbrechen lassen und das Ergebnis kopieren.

Typische Anwendungsfälle

  • PDF-Dateien untersuchen: Einen Stream mit dem Filter ASCII85Decode dekodieren, um den Inhalt als Text oder Hex zu sehen.
  • PostScript-Dateien: Eingebettete Bild- oder Schriftdaten im Adobe-Format lesbar machen.
  • ZeroMQ-Schlüssel: Z85-kodierte Schlüssel in Hex-Bytes umwandeln und zurück.
  • Binärdaten in Text einbetten: Bytes kompakter als mit Base64 in Textformate schreiben, wo Ascii85 unterstützt wird.
Fragen

Häufige Fragen

Ist Ascii85 dasselbe wie Base85?

Base85 ist der Oberbegriff für Kodierungen mit 85 Zeichen. Ascii85 ist die bekannteste Variante, entwickelt für btoa und von Adobe übernommen. Z85 und RFC 1924 sind weitere Base85-Varianten mit anderen Alphabeten.

Warum ist Ascii85 kürzer als Base64?

Ascii85 schreibt 4 Bytes in 5 Zeichen (Faktor 1,25), Base64 schreibt 3 Bytes in 4 Zeichen (Faktor 1,33). Bei großen Datenmengen spart das etwa sechs Prozent.

Was bedeutet das z in Ascii85?

Ein einzelnes z steht für vier Null-Bytes, also die Gruppe !!!!!. Es darf nur zwischen vollständigen Fünfergruppen stehen. Z85 kennt diese Abkürzung nicht.

Warum meldet Z85 einen Längenfehler?

Z85 ist nur für Daten definiert, deren Länge durch vier teilbar ist. Füllen Sie die Daten vorher auf oder nutzen Sie die Adobe-Variante, die unvollständige Gruppen erlaubt.

Wie lese ich Ascii85 aus einer PDF-Datei?

Kopieren Sie den Stream zwischen stream und endstream, einschließlich ~>. Steht im Wörterbuch zusätzlich FlateDecode, sind die dekodierten Bytes noch komprimiert und erscheinen hier als Hex.

Wie kodiere ich Ascii85 in Python?

Das Modul base64 bringt base64.a85encode und base64.a85decode mit; mit adobe=True entsteht die Variante mit <~ und ~>. Für das Base85-Alphabet, das Git für Binär-Diffs verwendet, gibt es base64.b85encode.

Wie erkenne ich Ascii85-kodierten Text?

Typisch sind die Rahmen <~ und ~> sowie eine dichte Mischung aus Buchstaben, Ziffern und Satzzeichen wie ^, + oder ; ohne Leerzeichen. Z85 lässt sich meist nur am Zusammenhang erkennen, etwa bei ZeroMQ-Schlüsseln mit 40 Zeichen.

Weitere Werkzeuge

Das könnte auch helfen

Alle 358 Werkzeuge