Base85-Encoder/Decoder
Base85 komprimiert vier Bytes in fünf ASCII-Zeichen — dichter als das 3-zu-4-Verhältnis von Base64 — indem es ein 85-Zeichen-Alphabet anstelle von 64 verwendet. Adobes Ascii85-Variante ist in jeder PostScript- und PDF-Datei enthalten; die neuere Z85 (ZeroMQ) Variante vermeidet Zeichen, die in C-Strings und XML Probleme verursachen. Dieses Tool kodiert und dekodiert beide, mit optionalen Trennzeichen.
Wie man Base85 konvertiert
-
1
Wählen Sie die Variante
Ascii85 für PDF/PostScript-Ressourcen; Z85 für Quellcode und Netzwerkprotokolle.
-
2
Text einfügen oder eine Datei hochladen
Die Kodier-Richtung nimmt rohe Bytes; die Dekodier-Richtung nimmt einen Base85-String.
-
3
Der Encoder chunked nach 4 Bytes
Jeder 4-Byte-Block wird zu einem 5-Zeichen-Base85-String. Der letzte Block wird gepolstert und gekürzt.
-
4
Kopieren Sie das Ergebnis
Ascii85 optional umschlossen mit `<~` und `~>` Trennzeichen; Z85 ohne Trennzeichen.
Vergleich des Größen-Overheads
| Kodierung | Zeichen pro 4 Bytes | Overhead vs. Binär |
|---|---|---|
| Hex | 8 | +100% |
| Base64 | 5.33 (auf 8 gerundet mit Padding) | +37% |
| Base85 | 5 | +25% |
| Rohbinär | 4 | 0 |
So wird 1 MB Binär zu 1,25 MB in Base85, 1,33 MB in Base64, 2 MB in Hex.
Ascii85 vs Z85 Alphabete
Ascii85 (RFC 1924 / Adobe): Zeichen ! bis u (33-117 in ASCII), plus z als Abkürzung für 4 Null-Bytes. Verwendet in PostScript- und PDF-Streams, umschlossen als <~...~>.
Z85 (ZeroMQ): eine Teilmenge, die Anführungszeichen und Escape-Zeichen vermeidet:
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#
Sicher in JSON, XML, C-Strings und Quellcode einzubetten, ohne Escaping.
Wie die Mathematik funktioniert
Jede 4 Bytes werden als ein Big-Endian 32-Bit-Integer N gelesen. Die 5 Ausgabewerte sind die Ziffern von N in Basis 85, die bedeutendste zuerst. 85^5 = 4 437 053 125, was größer ist als 2^32, sodass 4 Bytes immer in 5 Zeichen passen.
Wann Ascii85 wichtig ist
Öffnen Sie eine PDF in einem Texteditor und suchen Sie nach ASCII85Decode — Adobe verwendet es als Filter für eingebettete Bilder und Schriftarten, die einen 7-Bit-Transport überstehen müssen (alte Faxsysteme). Z85 wird häufig in ZeroMQ CURVE-Authentifizierungsschlüsseln verwendet.
Sonderfälle
- All-zero 4-Byte-Block — Ascii85 kodiert es als das einzelne Zeichen
zanstelle von!!!!!. - All-space 4-Byte-Block — Einige Varianten verwenden
yfür vier Leerzeichen, andere nicht. - Letzter Teilblock — Mit Null-Bytes gepolstert, und die entsprechende Anzahl von Ausgabewerten wird am Ende gekürzt.
Häufig gestellte Fragen
Kleinere Ausgabe, ja. Universell kompatibel, nein. Base85 enthält Zeichen wie <, >, &, " (in Ascii85), die in XML, JSON und URLs escaped werden müssen. Z85 vermeidet dies, aber die meisten Tools sprechen nativ Base64.
Ascii85, wenn Sie mit PostScript- oder PDF-Dateien arbeiten. Z85 für Quellcode, Konfigurationsdateien und Netzwerkprotokolle. RFC 1924 IPv6-Kodierung ist eine andere Zuordnung der gleichen 85 Zeichen und wird in der Praxis selten verwendet.
Nein. Sie verwenden unterschiedliche Alphabete. Das Dekodieren von Ascii85 mit einer Z85-Tabelle produziert Müll. Wählen Sie eines vor dem Kodieren und bleiben Sie dabei.
Für Adobe Ascii85 in PDF- oder PostScript-Streams, ja — sie markieren den kodierten Bereich. Für die eigenständige Verwendung und alle Z85-Ausgaben sind keine Trennzeichen erforderlich.
Verwandte Tools
AES Verschlüsseln / Entschlüsseln
Verschlüsseln und entschlüsseln Sie risikoarmen Text mit AES-OpenSSL-Chiffren. Das Passwort wird mit SHA-256 gehasht, die Base64-Ausgabe enthält IV plus Chiffretext.
A1Z26-Code-Encoder
Text mit dem A1Z26-Code (A=1, B=2, ... Z=26) codieren oder eine Zahlenfolge zurück in Buchstaben decodieren, mit anpassbarem Trennzeichen.
Atbash-Chiffre-Encoder
Kodieren oder dekodieren Sie Text mit der Atbash-Chiffre, einer hebräischen Substitution, die A-Z auf Z-A abbildet. Dieselbe Operation verschlüsselt und entschlüsselt.
bcrypt-Generator
Generieren Sie einen bcrypt-Hash aus einem Klartextpasswort. Anpassbarer Kostenfaktor von 4 bis 14, kompatibel mit Laravel, Django, Node und PHP.
Base32-Encoder/Decoder
Base32-Strings mit dem RFC 4648-Alphabet kodieren und dekodieren. Nützlich für TOTP-Geheimnisse, groß-/kleinschreibungsunempfindliche Tokens und von Menschen eingegebene Identifikatoren.
bcrypt-Hash-Generator
Generieren Sie bcrypt-Hashes oder überprüfen Sie ein Klartext-Passwort gegen einen vorhandenen bcrypt-Hash. Generieren und überprüfen Sie nebeneinander in einem Tool.