Zum Inhalt springen
BCBinary Code Translator
Menü

Ascii85 mit klaren Adobe-Regeln

Ascii85/Base85 Encoder und Decoder

Konvertiere UTF-8-Text in Ascii85, optional mit Adobe-Begrenzern und z-Kurzform für vier Nullbytes, einschließlich strikter Prüfung partieller Gruppen.

Die Konvertierung erfolgt vollständig im Browser; die Eingabe wird nicht übertragen.

Konvertierungsrichtung
0 Zeichen
0 Zeichen

Die Konvertierung läuft lokal in diesem Browser. Die Eingabe wird nicht hochgeladen.

Noch kein Ergebnis.

Welche Base85-Variante diese Seite meint

Base85 ist eine Formatfamilie. Diese Seite implementiert Adobe-Ascii85: Vier Bytes bilden eine 32-Bit-Zahl, die durch fünf Zeichen im Bereich ! bis u dargestellt wird.

Die Adobe-Form kann die Nutzlast mit <~ und ~> umschließen. z steht exakt für eine vollständige Gruppe aus vier Nullbytes und ist nur an Gruppengrenzen zulässig. ASCII-Leerraum darf beim Dekodieren vorkommen.

Z85 und RFC-1924-Base85 verwenden andere Alphabete und Regeln. Diese Varianten sind nicht austauschbar.

So verwendest du Ascii85

  1. Wähle Kodieren für UTF-8-Text oder Dekodieren für Ascii85.
  2. Lege beim Kodieren Adobe-Begrenzer und die z-Kurzform fest.
  3. Füge beim Dekodieren die umschlossene oder reine Form ein; Begrenzer müssen paarweise auftreten.
  4. Prüfe mit den Leerraum- und z-Beispielen die Kompatibilität eines anderen Decoders.
  5. Wechsle die Richtung, um einen Text-Roundtrip zu testen.

Ascii85-Beispiele und Adobe-Randfälle

Die Beispiele machen <~ ~>, die reine Form, erlaubten Leerraum und die z-Kurzform explizit.

Eingabe Ausgabe Richtung Hinweise
Hello, world! <~87cURD_*#TDfTZ)+T~> Kodieren Adobe-Begrenzer: Adobe-umschlossen; z-Kurzform: z-Kurzform verwenden — Adobe-Hello-Vektor. Vier-Byte-Gruppen werden zu fünf Ascii85-Zeichen; der abschließende Ein-Byte-Teil wird zu zwei Zeichen.
hello BOu!rDZ Kodieren Adobe-Begrenzer: Reines Ascii85; z-Kurzform: z-Kurzform verwenden — Reines Ascii85. Derselbe Algorithmus kann ohne die äußeren Adobe-Begrenzer ausgegeben werden.
<~ 87cUR D_*#T DfTZ)+T ~> Hello, world! Dekodieren Mit Leerraum dekodieren. ASCII-Leerzeichen, Tabulatoren und Zeilenumbrüche werden beim Dekodieren ignoriert.
z Dekodieren Kurzform für Nullgruppe. Ein z an einer Gruppengrenze steht für vier Nullbytes; innerhalb einer partiellen Gruppe ist es ungültig.
f <~Ac~> Kodieren Adobe-Begrenzer: Adobe-umschlossen; z-Kurzform: z-Kurzform verwenden — Partielle Ein-Byte-Eingabe. Ein Ein-Byte-Endstück erzeugt zwei Ascii85-Zeichen statt einer gepaddeten Fünf-Zeichen-Gruppe.
你好 <~jLq5JV7c~> Kodieren Adobe-Begrenzer: Adobe-umschlossen; z-Kurzform: z-Kurzform verwenden — Unicode UTF-8. Sechs UTF-8-Bytes ergeben eine vollständige Ascii85-Gruppe und eine partielle Zwei-Byte-Gruppe.

Zeichen, Leerraum und Gruppen

Der Decoder akzeptiert ! bis u, z an Gruppengrenzen, ASCII-Leerraum und optional ein äußeres Adobe-Begrenzerpaar.

Eine volle Gruppe enthält fünf Zeichen. Die letzte Gruppe darf zwei bis vier Zeichen besitzen und erzeugt ein bis drei Bytes. Ein einzelnes Schlusszeichen ist unmöglich.

  • <~ und ~> müssen gemeinsam die gesamte Eingabe umschließen.
  • z darf nicht innerhalb einer Teilgruppe stehen.
  • Tabulatoren, Leerzeichen und ASCII-Zeilenumbrüche werden ignoriert.
  • Außer z und Begrenzern sind nur ! bis u erlaubt.
  • Eine Fünfergruppe darf 0xffffffff nicht überschreiten.

Wie Ascii85 vier Bytes umwandelt

Vier Bytes werden zu einer 32-Bit-Zahl kombiniert. Fünf Divisionen durch 85 liefern Ziffern von 0 bis 84, die mit ASCII-Offset 33 ausgegeben werden.

Eine unvollständige Schlussgruppe wird vorübergehend mit Nullbytes ergänzt; ausgegeben werden nur reale Byteanzahl plus ein Zeichen.

Der Decoder ergänzt Teilgruppen mit u, entfernt temporäre Bytes und prüft vor der UTF-8-Ausgabe auf Überlauf.

Wann Ascii85 passt

Ascii85 ist dichter als Hexadezimal und kommt in historischen Dokumentformaten vor. Es bleibt eine reine Kodierung.

Einsatz Beschreibung
PostScript und PDF Die Adobe-Variante entstand für Binärdaten in textuellen Datenströmen.
Eingebettete Daten Kann gegenüber Hexadezimal Platz sparen, wenn der Empfänger Ascii85 erwartet.
Alte Formate debuggen Begrenzer und z helfen beim Nachstellen vorhandener Streams.
Randfalltests Teilgruppen und Überlauf prüfen die Kompatibilität.
Lehrbeispiele Zeigt die Abbildung von 32 Bits auf fünf druckbare Zeichen.

Ascii85-Fehler und Inkompatibilitäten

Typische Fehler sind die Verwechslung mit einer anderen Base85-Variante, getrennte Begrenzer, z innerhalb einer Gruppe oder ein einzelnes Schlusszeichen.

Gültiges Ascii85 kann Bytes enthalten, die kein UTF-8-Text sind. Diese Oberfläche meldet dies, statt Bytes zu ersetzen.

  • Z85 ist nicht Adobe-Ascii85.
  • y als Leerzeichen-Kurzform wird nicht unterstützt.
  • Verschachtelte Begrenzer sind ungültig.
  • Eine Schlussgruppe mit einem Zeichen ist unmöglich.
  • Ascii85 bietet weder Integrität noch Vertraulichkeit.

Ascii85 im Vergleich zu Z85 und Base64

Ascii85 verwendet ! bis u, erlaubt Teilgruppen und besitzt Adobe-Konventionen. Z85 hat ein anderes Alphabet und verlangt Byteanzahlen als Vielfaches von vier.

Base64 erzeugt vier Symbole für drei Bytes, Ascii85 fünf für vier. Moderne APIs unterstützen Base64 meist breiter.

Format Beschreibung
Z85 Anderes Alphabet und feste Blöcke; wird hier nicht dekodiert.
RFC-1924-Base85 Andere Variante zur Darstellung von IPv6-Adressen.
Base64 Weniger dicht, aber verbreiteter und klar in RFC 4648 definiert.

Häufige Fragen zu Ascii85

Implementiert das Werkzeug Z85?

Nein. Es implementiert Adobe-Ascii85.

Sind <~ ~> zwingend?

Nein, aber wenn sie verwendet werden, müssen sie als äußeres Paar auftreten.

Wofür steht z?

Exakt für vier Nullbytes an einer Gruppengrenze.

Ist Leerraum erlaubt?

Ja. Anerkannter ASCII-Leerraum wird beim Dekodieren ignoriert.

Warum wird ein einzelnes Schlusszeichen abgelehnt?

Es enthält nicht genug Information für ein Byte.

Ist Ascii85 Verschlüsselung?

Nein. Es ist eine reversible Byte-zu-Text-Kodierung.

Verwandte Tools

Alle Tools anzeigen

Cookie-Einstellungen

Verwalte deine Cookie-Einstellungen. Notwendige Cookies können nicht deaktiviert werden.

Notwendig

Erforderlich

Erforderlich für Sprachauswahl, Datenschutzeinstellungen und grundlegende Website-Funktionen.

Cookies: NEXT_LOCALE

Analyse

Optionale Analyse-Cookies helfen uns, den Traffic zu verstehen und die Website zu verbessern.

Cookies: _ga, _gid, _gat, _clck, _clsk

Werbung

Optionale Werbe-Cookies können genutzt werden, um relevante Anzeigen zu zeigen und deren Leistung zu messen.

Cookies: __gads, _gcl_au, IDE