[Go to CFHT Home Page] Man Pages
Back to Software Index  BORDER=0Manpage Top Level
    a64l(3C) manual page Table of Contents

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

MT-Level

MT-Safe

Description

These functions are used to maintain numbers stored in base-64 ASCII characters. These characters 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 . for 0, / for 1, 0 through 9 for 2-11, A through Z for 12-37, and a through z for 38-63.

a64l() 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() will use the first six.

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

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

Notes

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.


Table of Contents