A64L(3)

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

SYNOPSIS
#include <stdlib.h>

long a64l(char *str64);

char *l64a(long valeur);

Exigences de macros de test de fonctionnalités pour la glibc (voir feature_test_macros(7)) :

a64l(), l64a() : _SVID_SOURCE || _XOPEN_SOURCE >= 500

DESCRIPTION
Ces fonctions assurent la conversion entre des entiers sur 32 bits (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 le type long fait 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/".

CONFORMITÉ
POSIX.1-2001.

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

VOIR AUSSI
uuencode(1), strtoul(3)

TRADUCTION

Ce document est une traduction réalisée par Thierry Vignaud <tvignaud AT mandriva DOT com> en 2002 et révisée le 24 juin 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 a64l ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.