Base32

Algorithme utilisé par Up ! System

L'algorithme Base32 de l'Internet Engineering Task Force (IETF) permet d'encoder un flux binaire en un flux texte transformant un paquet de 5 octets en 8 caractères alphabétiques.

Son principe est le suivant :

Si le flux n'est pas composé d'un multiple de 5 octets, une 32ème valeur est ajoutée traduisant la fin de flux. Elle correspond au caractère égal =.

La taille de la ligne ne doit pas dépasser 76 caractères une fois encodée. Une ligne non encodée peut être découpée en plusieurs lignes encodées.

Le saut de ligne est représenté par les deux caractères successifs saut de ligne \n et retour chariot \r non encodés.

Table d'encodage

Code décimal.Code hexadécimal.Caractère.
0000x00A
0010x01B
0020x02C
0030x03D
0040x04E
0050x05F
0060x06G
0070x07H
0080x08I
0090x09J
0100x0AK
0110x0BL
0120x0CM
0130x0DN
0140x0EO
0150x0FP
0160x10Q
0170x11R
0180x12S
0190x13T
0200x14U
0210x15V
0220x16W
0230x17X
0240x18Y
0250x19Z
0260x1A2
0270x1B3
0280x1C4
0290x1D5
0300x1E6
0310x1F7
0320x20Egal =

Exemple d'un flux encodé l'algorithme Base32

Flux non encodé

/* ------------------------------------------------------------------- */ /* Fichier : clientftp.upl */ /* Objet : Exemple d'emploi d'Up ! Network. */ /* */ /* Module : Up ! Application System. */ /* Auteur-Date : DUVAL Jean-Pierre - Novembre 2003. */ /* ------------------------------------------------------------------- */ /* Observations */ /* */ /* */ /* ------------------------------------------------------------------- */ Source Composant "Exemple d'emploi d'Up ! Network" Version 4.0.0; ImporterModule UpsFts(, ImporterDefinitions); Variable /******/ MonServeur : Nul Ou ServeurFtp; Principal /*******/ Debut MonServeur=ServeurFtp("ftp://local:21"); MonServeur.ChangerConnexion("anonymous", "contact@mon-domaine.com"); MonServeur.ChangerEtatTypeDonnees(TypeDonneesAscii); CopierFichier("C:/tmp2/essai.txt", "ftp://local:21/tmp/essai.txt"); MonServeur.ChangerEtatTypeDonnees(TypeDonneesImage); CopierFichier("ftp://local:21/tmp/essai.doc", "C:/tmp2/essai.doc"); MonServeur=Nul; Fin Principal

Flux encodé

F4VCALJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJN FUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNEAVC6CRPFIQEM2LDNBUWK4RAEAQCAORA MNWGSZLOORTHI4BOOVYGYIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBA EAQCAIBAEAQCAIBAFIXQULZKEBHWE2TFOQQCAIBAEAQDUICFPBSW24DMMUQGIJ3FNVYGY33J EBSCOVLQEAQSATTFOR3W64TLFYQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBKF4FC6KRA EAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBA EAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAKRPBIXSUICNN5SHK3DFEAQCAIBAEA5CAVLQ EAQSAQLQOBWGSY3BORUW63RAKN4XG5DFNUXCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBA EAQCAIBAEAVC6CRPFIQEC5LUMV2XELKEMF2GKIB2EBCFKVSBJQQEUZLBNYWVA2LFOJZGKIBN EBHG65TFNVRHEZJAGIYDAMZOEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAFIXQULZKEAWS2LJN FUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJN FUWS2LJNFUWS2LJNFUWS2LJNFUWS2IBKF4FC6KRAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBA EAQCAIBAJ5RHGZLSOZQXI2LPNZZSAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBA EAQCAKRPBIXSUIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBA EAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCULZABIXSUIBAEAQCAIBA EAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBAEAQCAIBA EAQCAIBAEAQCAIBAEAQCAIBAEAQCULZABIXSUIBNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJN FUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJNFUWS2LJN FUQCULYKBJJW65LSMNSSAQ3PNVYG643BNZ2CAISFPBSW24DMMUQGIJ3FNVYGY33JEBSCOVLQ EAQSATTFOR3W64TLEIQFMZLSONUW63RAGEXDELRQHMFAUSLNOBXXE5DFOJGW6ZDVNRSSACRA EAQFK4DTIZ2HAKB4KVYHGRTUOA7CYICJNVYG64TUMVZEIZLGNFXGS5DJN5XHGKJ3BIFFMYLS NFQWE3DFBIXSUKRKFIVCULYKEAQCATLPNZJWK4TWMV2XEIB2EBHHK3BAJ52SAU3FOJ3GK5LS IZ2HAOYKBJIHE2LOMNUXAYLMBIXSUKRKFIVCUKRPBJCGKYTVOQFE233OKNSXE5TFOVZD2U3F OJ3GK5LSIZ2HAKBCKVYHGRTUOA5C6L3MN5RWC3B2GIYSEKJ3BIFE233OKNSXE5TFOVZC4Q3I MFXGOZLSINXW43TFPBUW63RIEJQW433OPFWW65LTEIWCAITDN5XHIYLDORAHK4BNMNXW24BO MNXW2IRJHMFE233OKNSXE5TFOVZC4Q3IMFXGOZLSIV2GC5CUPFYGKRDPNZXGKZLTFBKHS4DF IRXW43TFMVZUC43DNFUSSOYKINXXA2LFOJDGSY3INFSXEKBCIM5C65DNOAZC6ZLTONQWSLTU PB2CELBAEJKXA42GORYDULZPNRXWGYLMHIZDCL3UNVYC6ZLTONQWSLTUPB2CEKJ3BJGW63ST MVZHMZLVOIXEG2DBNZTWK4SFORQXIVDZOBSUI33ONZSWK4ZIKR4XAZKEN5XG4ZLFONEW2YLH MUUTWCSDN5YGSZLSIZUWG2DJMVZCQISVOBZUM5DQHIXS63DPMNQWYORSGEXXI3LQF5SXG43B NEXGI33DEIWCAISDHIXXI3LQGIXWK43TMFUS4ZDPMMRCSOYKJVXW4U3FOJ3GK5LSHVHHK3B3 BJDGS3RAKBZGS3TDNFYGC3AKBI======