Linux |
CentOS 5.3 |
|
l64a(3) |
a64l, l64a − Conversion de long en base 64 et inversement. |
#include <stdlib.h> long a64l(char *str64); char *l64a(long valeur); |
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/". |
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). |
POSIX.1-2001. |
uuencode(1), itoa(3), strtoul(3) |
Ce document est une traduction réalisée par Thierry Vignaud <tvignaud AT mandriva DOT com> en 2002 et révisée le 14 août 2006. 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. |
l64a(3) |