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. 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ée4 bytes → 5 chars输出vs Base64: 3 bytes → 4 chars -
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éetest输出5EWac -
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ée5EWac输出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.