A64L(3C) Standard C Library Functions A64L(3C)
NAME
a64l, l64a - convert between long integer and base-64 ASCII string
SYNOPSIS
#include <stdlib.h>
long a64l(
const char *s);
char *l64a(
long l);
DESCRIPTION
These functions maintain numbers stored in base-64
ASCII characters
that define a notation by which long integers can be represented by
up to six characters. Each character represents a "digit" in a
radix-64 notation.
The characters used to represent "digits" are as follows:
+----------+-------+
|Character | Digit |
+----------+-------+
|
. |
0 |
|
/ |
1 |
|
0-9 |
2-11 |
|
A-Z |
12-37 |
|
a-z |
38-63 |
+----------+-------+
The
a64l() function takes a pointer to a null-terminated base-64
representation and returns a corresponding
long value. If the string
pointed to by
s contains more than six characters,
a64l() uses the
first six.
The
a64l() function scans the character string from left to right
with the least significant digit on the left, decoding each character
as a 6-bit radix-64 number.
The
l64a() function takes a
long argument and returns a pointer to
the corresponding base-64 representation. If the argument is 0,
l64a() returns a pointer to a null string.
The value returned by
l64a() is a pointer into a static buffer, the
contents of which are overwritten by each call. In the case of
multithreaded applications, the return value is a pointer to thread
specific data.
ATTRIBUTES
See
attributes(7) for descriptions of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Standard |
+--------------------+-----------------+
|MT-Level | MT-Safe |
+--------------------+-----------------+
SEE ALSO
attributes(7),
standards(7) July 24, 2002 A64L(3C)