Linux

CentOS 4.8

a64l(3)


A64L

NOM

a64l, l64a − convertit des long en base 64 et vice versa

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 a 0

’/’

représente a 1

0-9

representent 2-11

A-Z

representent 12-37

a-z

representent 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).

CONFORME Ã

XPG 4.2, POSIX 1003.1-2001.

VOIR AUSSI

uuencode(1), itoa(3), strtoul(3)

TRADUCTION

Thierry Vignaud <tvignaud@mandrakesoft.com>, 2002


a64l(3)