a64l, l64a - Fonctions de conversion entre les types long et base 64
Bibliothèque C standard (
libc,
-lc)
#include <stdlib.h>
long a64l(const char *str64);
char *l64a(long valeur);
a64l(),
l64a() :
_XOPEN_SOURCE >= 500
|| /* glibc >= 2.19 : */ _DEFAULT_SOURCE
|| /* glibc <= 2.19 : */ _SVID_SOURCE
Ces fonctions assurent la conversion entre des entiers longs sur 32 bits
et des chaînes de caractères ASCII (de 0 à 6
caractères) petit boutiste en base 64. Si la chaîne
passée en argument à
a64l() possède plus de six
octets, alors seuls les six premiers octets sont utilisés. Si les
entiers de type
long 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 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
Donc 123 = 59*64^0 + 1*64^1 = "v/".
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
l64a() |
Sécurité des threads |
MT-Unsafe race:l64a |
a64l() |
Sécurité des threads |
MT-Safe |
POSIX.1-2001, POSIX.1-2008.
La valeur renvoyée par
a64l() peut être un pointeur sur un
tampon statique, qui peut être réécrit par des appels
ultérieurs.
Le comportement de
l64a() est indéfini lorsque
valeur est
négatif. Si
valeur vaut zéro, une chaîne vide est
renvoyée.
Ces fonctions n'étaient pas fonctionnelles avant la glibc 2.2.5
(chiffre le plus significatif en premier).
Ce n'est pas l'encodage utilisé par
uuencode(1).
uuencode(1),
strtoul(3)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]> et David Prévot <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]