Go to main content

man pages section 3: Basic Library Functions

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

l64a(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)