Outil pour décoder ou encoder avec la Base 92. Le code Base 92 permet de stocker de l'information binaire au format ASCII avec une perte de donnée minimale.
Code Base 92 - dCode
Catégorie(s) : Codage de Caractères
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 !
L'alphabet de 92 caractères utilisé en Base 92 est indexé ainsi :
(vide) | ~ | 9 | + | 19 | 5 | 29 | ? | 39 | I | 49 | S | 59 | ] | 69 | h | 79 | r | 89 | | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | ! | 10 | , | 20 | 6 | 30 | @ | 40 | J | 50 | T | 60 | ^ | 70 | i | 80 | s | 90 | } |
1 | # | 11 | - | 21 | 7 | 31 | A | 41 | K | 51 | U | 61 | _ | 71 | j | 81 | t | ||
2 | $ | 12 | . | 22 | 8 | 32 | B | 42 | L | 52 | V | 62 | a | 72 | k | 82 | u | ||
3 | % | 13 | / | 23 | 9 | 33 | C | 43 | M | 53 | W | 63 | b | 73 | l | 83 | v | ||
4 | & | 14 | 0 | 24 | : | 34 | D | 44 | N | 54 | X | 64 | c | 74 | m | 84 | w | ||
5 | ' | 15 | 1 | 25 | ; | 35 | E | 45 | O | 55 | Y | 65 | d | 75 | n | 85 | x | ||
6 | ( | 16 | 2 | 26 | < | 36 | F | 46 | P | 56 | Z | 66 | e | 76 | o | 86 | y | ||
7 | ) | 17 | 3 | 27 | = | 37 | G | 47 | Q | 57 | [ | 67 | f | 77 | p | 87 | z | ||
8 | * | 18 | 4 | 28 | > | 38 | H | 48 | R | 58 | \ | 68 | g | 78 | q | 88 | { |
En pratique, seuls 91 signes sont utilisés dans les calculs de base, le 92ème (le tilde ~) n'est utilisé que pour signaler une chaine vide.
Pour encoder des données en Base 92, découper les données en blocs de 13 bits pour en faire 2 caractères en base 91 (oui 91 et non pas 92).
Exemple : dCode s'écrit en binaire (ASCII) 0110010001000011011011110110010001100101
Le découpage en bloc de 13 bits donne 0110010001000,0110110111101,1001000110010,1
La conversion de 0110010001000 (base 2) donne 3208 (base 10) soit 35×91+23. Le caractère 35 de la base 91 est E et le caractère 23 est 9 dont le bloc est codé E9.
Compléter le dernier bloc avec des 0 à droite. Compléter à 6 bits si le bloc contenait 6 bits ou moins, sinon compléter à 13 bits.
Exemple : Le dernier bloc 1 (de longueur 1 bit) est complété à 100000 (complété sur 6 bits) soit 32 en base 10, et le symbole 32 est B.
Le message codé complet est E9H]U3B
Pour chaque couple de caractère, noter la valeur de chaque symboles dans l'alphabet de la Base 92. Multiplier le premier par 91 et les additionner.
Exemple : Décoder 9A2?VBWl en le découpant en paires 9A 2? VB Wl. Le premier caractère 9 a pour index 23, et A pour code 31. Le calcul est 23×91+31=2124.
Pour chaque nombre obtenu, le convertir en binaire, en le complétant si besoin sur la gauche pour obtenir 13 bits.
Exemple : 2124 en base 10 correspond à 100001001100 en binaire, comme ce nombre ne fait que 12 bits, y rajouter un zéro initial soit 0100001001100
La suite binaire obtenue (par concaténation des nombres à 13 bits) correspond au message clair. Si le message était originellement codé en ASCII 8 bits, alors chaque octets correspond à un caractère ASCII.
Exemple : La suite binaire est 01000010,01100001,01110011,01100101,00111001,00110010 soit les 6 caractères Base92
Le message est composé des 91 caractères de l'alphabet Base92.
Le caractère ~ apparait seul ou n'apparait pas.
Si la longueur du message est impaire, alors le dernier caractère ne peut être que parmi les 64 premiers caractères de l'alphabet.
Chaque bloc de 13 bits peut coder 2^13 = 8192 valeurs, tandis que 2 caractères en base 91 codent 91^2=8281 valeurs. La perte d'encodage est donc minimisée pour un alphabet de 91 symboles.
dCode se réserve la propriété du code source pour "Code Base 92". Sauf code licence open source explicite (indiqué Creative Commons / gratuit), l'algorithme pour "Code Base 92", l'applet ou snippet (convertisseur, solveur, chiffrement / déchiffrement, encodage / décodage, encryptage / décryptage, traducteur) ou les fonctions liées à "Code Base 92" (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 à "Code Base 92" ne sont pas publics, idem pour un usage hors ligne, PC, mobile, tablette, appli iPhone ou Android !
Rappel : dCode est gratuit.
Le copier-coller de la page "Code Base 92" 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 :
Code Base 92 sur dCode.fr [site web en ligne], consulté le 05/10/2024,