Aller au contenu
uencoder

Comment en Utiliser Ascii85 (Base85) Codage

Coder binary data using Ascii85, a base-85 scheme that is more compact than Base64 for certain use cases.

问题

You besoin un plus compact texte representation de binary données than Base64 offers, et your target système supports un larger caractère définir.

Prérequis

  • Understanding of Base64
  • Familiarity with binary data

Étapes

  1. 1. Understand the 5-to-4 ratio

    Ascii85 encodes 4 bytes of binary into 5 ASCII characters, using an 85-character alphabet. This is more compact than Base64's 3-to-4 ratio, saving about 7% space.

    entrée
    4 bytes → 5 chars
    输出
    vs Base64: 3 bytes → 4 chars
  2. 2. Encode the data

    Split the input into 4-byte groups, interpret each as a 32-bit big-endian integer, and convert it to base 85 using 5 digits. Map each digit to a character starting from '!' (ASCII 33). Handle the remainder if the input length is not a multiple of 4.

    entrée
    test
    输出
    5EWac
  3. 3. Decode and verify

    Reverse the process: convert each 5-character group back to a 32-bit integer, then split into 4 bytes. Strip the wrapper delimiters (<~ and ~> for Adobe Ascii85) before decoding if present.

    entrée
    5EWac
    输出
    test

Résultat attendu

Un compact ASCII chaîne ce decodes en le exact original binary données.

Erreurs courantes

Mixing Adobe Ascii85 and standard Ascii85
Adobe Ascii85 wraps the output in <~ and ~> and uses a special 'z' shorthand for all-zero groups. Know which variant your decoder expects.
Incorrect remainder handling
When the input is not a multiple of 4, pad with zero bytes, encode, then truncate the output to the correct length. The decoder must reverse this.

Dépannage指引

  • If the decoded data is wrong, check for the Adobe 'z' shorthand which represents 4 zero bytes as a single character.
  • Verify the alphabet starts at '!' (ASCII 33), not at '0' or 'A'.

Limites de sécurité

  • Ascii85 is a reversible encoding with no security properties.

Outils associés

参考链接