Convertion en base 64

oulali Messages postés 19 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 29 novembre 2005 - 29 nov. 2005 à 12:29
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 - 29 nov. 2005 à 18:35
Bonjour,

J'aimerais savoir s'il y a une fonction C/C++ pour convertir un "unsigned char*" en un BYTE en base 64.

Merci d'avance.

3 réponses

Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
29 nov. 2005 à 13:37
Tu veux plutot dire convertir un unsigned char ecrit en base 64 sur un BYTE ?

Car les données informatiques sont codées en base 2 quelle que soit ta volonté.
0
oulali Messages postés 19 Date d'inscription lundi 28 juin 2004 Statut Membre Dernière intervention 29 novembre 2005
29 nov. 2005 à 14:09
Oui exact,
Je cherche à convertir une chaîne représentant un nombre en base 64 en un vrai BYTE.
0
Galmiza Messages postés 573 Date d'inscription samedi 16 novembre 2002 Statut Membre Dernière intervention 9 avril 2008 1
29 nov. 2005 à 18:35
Bah,



// Méthode qui fonctionne qqs la base au debuggage non effectué près

BYTE function(BYTE* b, int base)

{

BYTE *pStart = b; // Save start

BYTE byte=0; // Init BYTE

// Reach end string

while (*(b++)); b--;

// Go

int mult = 1;

while (b != pStart )

{

if (*b >= base) return 0xFF; // erreur

byte += *(--b)*mult ;

int mult *= base;

}

return byte;

}



Sinon vu que 64 2^6 1 + sum(2^i, i,0,5), pour la transformation
dans l'autre sens, tu prends 5 octets consécutifs en partant du poids
faible (droite), et tu mets tel quel les résultats des (byte &
0b00011111) dans ton tableau de (unsigned byte*).
0
Rejoignez-nous