Rechercher un outil
Codage ASCII85

Outil pour décoder/coder en ASCII85 (aussi appelé Base85) est un codage similaire à base64, utilisant 5 caractères ASCII pour représenter 4 octets. ASCII 85 est utilisé dans les fichiers PDF par exemple.

Résultats

Codage ASCII85 -

Catégorie(s) : Codage de Caractères

Partager
Partager
dCode et plus

dCode est gratuit et ses outils sont une aide précieuse dans les jeux, les maths, les énigmes, les géocaches, et les problèmes à résoudre au quotidien !
Une suggestion ? un problème ? une idée ? Écrire à dCode !


Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !


Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Codage ASCII85' gratuit ! Merci !

Codage ASCII85

Décodage de l'ASCII85

 













Voir aussi : Code Base64Code ASCII

Encodage par ASCII85

 


Voir aussi : Code Base64Code ASCII

Réponses aux Questions (FAQ)

Qu'est-ce que l'ASCII85 ? (Définition)

L'ASCII85 est un encodage de caractères utilisant 85 symboles ASCII. Popularisé par le format PDF, il permet un encodage légèrement moins volumineux que la Base64.

Cet encodage est parfois nommé Base85 mais il ne s'agit pas d'un changement de base arithmétique en base 85.

Comment encoder avec ASCII85 ? (Principe de chiffrement)

Le chiffrement ASCII85 utilise le code binaire du texte (qui dépend de l'encodage utilisé : ASCII, Unicode etc.)

Exemple : Soit le message DCODE encodé 01000100 01000011 01001111 01000100 01000101 (codage ASCII)

Le binaire est découpé tous les 32 bits (soit 4 octets)

Exemple : 01000100010000110100111101000100 (base2) = 1145261892 (base10) et 01000101000000000000000000000000 (base2) = 1157627904 (base10) (complété avec 3 caractères nuls = 24 fois 0 pour avoir 32 bits)

Les nombres obtenus sont convertis en base 85.

Exemple : 1145261892 (base10) = [21,79,73,64,27] (base85) et 1157627904 (base10) = [22,15,0,26,69] (base85)

Chaque valeur en base 85 est alors remplacée par un caractère ASCII de code (valeur+33)

Exemple : 21 => ASCII(54) = 6, 79 => ASCII(112) = p, 76 => ASCII(106) = j, etc. donc l'encodage final est : 6pja<70

Il peut y avoir des caractères finaux null ASCII(0), qui peuvent être supprimés (ils correspondent aux caractères nuls ajoutées à l'étape précédente)

Comment décoder l'ASCII85 ? (Principe de déchiffrement)

Le déchiffrement débute par une découpe du message ASCII85 par groupe de 5 caractères. (Si le dernier tuple ne fait pas 5 caractères, compléter alors avec le caractère u)

Exemple : Le message 6pja<70 est découpé en 6pja< et 70 (qui devient 70uuu)

Pour chaque groupe de 5 caractères, récupérer la valeur ASCII et y soustraire 33.

Exemple : 6pja< = 54,112,106,97,60 (code ASCII), -33 => 21,79,73,64,27

Exemple : 70uuu = 55,48,117,117,117 (code ASCII), -33 => 22,15,84,84,84

Chaque groupe de 5 nombres est alors considéré comme un seul nombre écrit en base 85, à convertir en base 2.

Exemple : [21,79,73,64,27] (base85) = 01000100010000110100111101000100 (base2)

Exemple : [22,15,84,84,84] (base85) = 01000101000010010101011000000101 (base2)

Le message clair est alors le code binaire encodé dans le codage souhaité (ASCII, Unicode, etc.), supprimer à la fin autant de caractères que ceux qui ont été ajoutés à l'étape de complétion des tuples).

Exemple : 01000100 01000011 01001111 01000100 01000101 (00001001 01010110 00000101) = DCODE (codage ASCII 8bit).

Quels sont les caractères utilisés par ASCII85 ?

La table d'encodage utilisée par l'ASCII-85 est la table ASCII (commençant au premier caractère imprimable)

IndexAsc85IndexAsc85IndexAsc85IndexAsc85IndexAsc85
0 !1"2#3$4%
5&6'7(8)9*
10+11,12-13.14/
150161172183194
205216227238249
25:26;27<28=29>
30?31@32A33B34C
35D36E37F38G39H
40I41J42K43L44M
45N46O47P48Q49R
50S51T52U53V54W
55X56Y57Z58[59\
60]61^62_63`64a
65b66c67d68e69f
70g71h72i73j74k
75l76m77n78o79p
80q81r82s83t84u

Dans la variante IPv6, l'alphabet utilisé est 0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz!#$%&()*+-;<=>?@^_`{|}~

Dans la variante ZeroMQ, l'alphabet utilisé est 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ.-:+=^!/*?&<>()[]{}@%$#

Comment reconnaitre le chiffre ASCII85 ?

Le message utilise uniquement les caractères ASCII de codes 33 (!) à 117 (u) ainsi que parfois des espaces, retours à la ligne, mais aussi parfois les caractères y et z.

Le message commence par <~ et fini par ~> (dans le cas de la variante Adobe)

Le message commence par xbtoa Begin et finit par xbtoa End (dans le cas de la variante BTOA)

Avec les variantes IPv6 ou ZeroMQ les caractères sont différents (mais il n'y a pas de préfixe)

Qu'est-ce que la variante Adobe b85 ?

Adobe Base85 est utilisé dans les PDF et commence par <~ et fini par ~> et autorise l'exception z.

Qu'est-ce que la variante IPv6 ?

Afin de stocker des IPv6 plus courtes, la RFC 1924 a proposé une représentation compacte utilisant la base mathématique 85 et les symboles 0–9, A–Z, a–z, !#$%&()*+-;<=>?@^_`{|}~.

Cette page ne fait que réutiliser cet alphabet et l'ASCII85 ne permet pas un encodage des IPv6 tels que prévus par la RFC.

Qu'est-ce que la variante ZeroMQ ?

ZeroMQ est outil de messagerie qui utilise la Base85 dans une fonction nommée zmq_z85_encode(), les 85 symboles utilisés sont : 0-9, a-z, A-Z, .-:+=^!/*?&<>()[]{}@%$#

La fonction de conversion de ZeroMQ est différente de l'ASCII85, cette page de fait qu'utiliser l'alphabet.

Qu'est-ce que l'exception 'z' ?

Le caractère z est parfois utilisé (alors qu'il n'est pas dans la liste des caractères valides) pour indiquer un groupe de 0, ce qui a pour effet de diminuer la taille du message codé. (Utilisé par BTOA et Adobe)

Qu'est-ce que l'exception 'y' ?

Le caractère y est parfois utilisé pour indiquer un groupe d'espaces (Non utilisé avec Adobe)

Quand ASCII85 a-t-il été inventé ?

Le code ASCII85 a été créé vers 1990 par Paul E. Rutter.

Code source

dCode se réserve la propriété du code source pour "Codage ASCII85". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Codage ASCII85", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Codage ASCII85" (calculer, convertir, résoudre, décrypter / encrypter, déchiffrer / chiffrer, décoder / encoder, traduire) codés en langage informatique (Python, Java, C#, PHP, Javascript, Matlab, etc.) ou les données, en téléchargement, script, ou les accès API à "Codage ASCII85" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.

Citation

Le copier-coller de la page "Codage ASCII85" ou de ses résultats est autorisée (même pour un usage commercial) tant que vous créditez dCode !
L'exportation des résultats sous forme de fichier .csv ou .txt est gratuite en cliquant sur l'icone export
Citer comme source bibliographique :
Codage ASCII85 sur dCode.fr [site web en ligne], consulté le 19/12/2024, https://www.dcode.fr/code-ascii-85

Besoin d'Aide ?

Rendez-vous sur notre communauté Discord dCode pour participer au forum d'entraide !
PS : Pour les messages codés, testez notre détecteur de chiffrement !

Questions / Commentaires

Remarques et suggestions sont les bienvenues afin que dCode propose le meilleur outil 'Codage ASCII85' gratuit ! Merci !


https://www.dcode.fr/code-ascii-85
© 2024 dCode — La 'boite à outils' indispensable qui sait résoudre tous les jeux / énigmes / géocaches / CTF.
 
Un problème ?