man a64l (Fonctions bibliothèques) - Conversion de long en base 64 et inversement.

NOM

a64l, l64a - Conversion de long en base 64 et inversement.

SYNOPSIS

#include <stdlib.h> long a64l(char *str64); char *l64a(long valeur);

DESCRIPTION

Ces fonctions assurent la conversion entre des entiers sur 32-bit (entiers long du « C ») et des entiers représentés en base 64 sur des chaînes ASCII (dont la longueur peut aller de zéro à six caractères), dans l'ordre little-endian. Si la chaîne passée en argument à a64l() possède plus de six caractères, alors seuls les six premiers octets sont utilisés. Si les longs font plus de 32 bits, alors l64a() n'utilise que les 32 bits de poids faible de valeur, et a64l() propage le bit de signe de son résultat sur 32 bits.

Les 64 chiffres du système en base 64 sont :

« . »	représente un 0
« / »	représente un 1
0-9		représentent  2-11
A-Z		représentent 12-37
a-z		représentent 38-63


Exemple : 123 = 59*64^0 + 1*64^1 = "v/".

NOTES

Les valeurs renvoyées par a64l() peuvent être un pointeur sur un tampon statique, qui peut être réécrit par des appels successifs.

Le comportement de l64a() est indéfini quand valeur est négative. Si valeur est zéro, elle renvoie une chaîne vide.

Ces fonctions n'étaient pas fonctionnelles avant la version 2.2.5 de la glibc (chiffres les plus significatifs en premier).

Ce n'est pas l'encodage utilisé par uuencode(1).

CONFORMITÉ

XPG 4.2, POSIX 1003.1-2001.

VOIR AUSSI

TRADUCTION

Thierry Vignaud <tvignaud@mandrakesoft.com>, 2002

CETTE PAGE DOCUMENTE AUSSI :