Codificatore e Decodificatore Base85

Base85 comprime quattro byte in cinque caratteri ASCII, più denso del rapporto 3 a 4 di Base64, usando un alfabeto di 85 caratteri invece di 64. Questo strumento implementa la variante Ascii85 di Adobe, quella presente nei file PostScript e PDF. Il codificatore racchiude sempre l’output nei delimitatori <~ e ~>; il decodificatore accetta l’input con o senza di essi.

Come convertire Base85 (Ascii85)

  1. 1

    Scegli codifica o decodifica

    Codifica trasforma byte grezzi in Ascii85; decodifica trasforma una stringa Ascii85 di nuovo in byte.

  2. 2

    Incolla il testo

    Incolla nel campo i byte da codificare oppure la stringa Ascii85 da decodificare.

  3. 3

    Il codificatore suddivide in blocchi di 4 byte

    Ogni blocco di 4 byte diventa una stringa Base85 di 5 caratteri. L'ultimo blocco viene riempito e troncato.

  4. 4

    Copia il risultato

    L'output Ascii85 è racchiuso nei delimitatori `<~` e `~>`. Incollalo di nuovo per decodificarlo; i delimitatori vengono rimossi automaticamente.

Confronto dell’overhead di dimensione

Codifica Caratteri per 4 byte Overhead rispetto al binario
Esadecimale 8 +100%
Base64 5,33 (arrotondato a 8 con riempimento) +37%
Base85 5 +25%
Binario grezzo 4 0

Quindi 1 MB di binario diventa 1,25 MB in Base85, 1,33 MB in Base64 e 2 MB in esadecimale.

L’alfabeto Ascii85

Ascii85 (Adobe): caratteri da ! a u (33-117 in ASCII), più z come scorciatoia per 4 byte zero. È la codifica standard dei flussi PostScript e PDF, racchiusa come <~...~>.

Z85 (ZeroMQ) e l’alfabeto RFC 1924 per IPv6 sono attribuzioni diverse della stessa idea a 85 caratteri. Questo strumento non le implementa, quindi una stringa codificata con quelle varianti verrebbe decodificata in modo errato qui.

Come funziona la matematica

Ogni 4 byte vengono letti come un intero a 32 bit in big-endian N. I 5 caratteri di output sono le cifre di N in base 85, dalla più significativa. 85^5 = 4 437 053 125, che è maggiore di 2^32, quindi 4 byte stanno sempre in 5 caratteri.

Quando Ascii85 è importante

Apri un PDF qualsiasi in un editor di testo e cerca ASCII85Decode. Adobe lo usa come filtro per immagini e font incorporati che devono sopravvivere a un trasporto a 7 bit (vecchi sistemi tipo fax). La stessa codifica compare in molti file PostScript e nei trasporti binari compatibili con la posta elettronica.

Casi speciali

  • Blocco di 4 byte tutto zero: Ascii85 lo codifica come il singolo carattere z invece di !!!!!.
  • Ultimo blocco parziale: viene riempito con byte zero e il numero corrispondente di caratteri di output viene troncato alla fine.

Domande frequenti

Output più piccolo, sì. Compatibilità universale, no. Ascii85 contiene caratteri come <, >, &, " che richiedono escape in XML, JSON e URL. La maggior parte degli strumenti parla nativamente Base64.

Nei flussi PostScript e PDF, dove la regione codificata è marcata con <~ e ~>. I lettori e gli editor di PDF gestiscono questa codifica automaticamente.

No. Implementa solo Adobe Ascii85. Z85 (ZeroMQ) e l’alfabeto RFC 1924 per IPv6 assegnano gli 85 caratteri in modo diverso, quindi una stringa codificata con quelle varianti verrebbe decodificata in modo errato qui.

Marcano la regione codificata secondo la convenzione Ascii85. Il codificatore li aggiunge sempre e il decodificatore li rimuove automaticamente se presenti. Puoi anche incollare una stringa senza di essi.

Strumenti correlati

Strumento disponibile in altre lingue