A64L(3,L) AIX Technical Reference A64L(3,L)
-------------------------------------------------------------------------------
a64l, l64a
PURPOSE
Converts between long integers and base-64 ASCII strings.
LIBRARY
Standard C Library (libc.a)
SYNTAX
char *l64a (l)
long a64l (s) long l;
char *s;
DESCRIPTION
The a64l and l64a subroutines maintain numbers stored in base-64 ASCII
characters. This is a notation in which long integers are represented by up to
six characters, each character representing a digit in a base-64 notation.
The following characters are used to represent digits:
"." represents 0. "/" represents 1. "0"-"9" represent 2-11.
"A"-"Z" represent 12-37. "a"-"z" represent 38-63.
Note: Base-64 ASCII strings' lowest bit is the left-most bit, not the
right-most bit.
The a64l subroutine takes a pointer to a null-terminated character string
containing a value in base-64 representation and returns the corresponding long
value. If the string pointed to by the s parameter contains more than six
characters, the a64l subroutine uses only the first six. The a64l subroutine
does not check for invalid ASCII characters such as @ or %. Also, for any
base-64 ASCII string larger than zzzzz/ or 2147483647, the a64l subroutine does
not return the expected value.
Conversely, the l64a subroutine takes a long parameter and returns a pointer to
the corresponding base-64 representation. If the l parameter is 0, then the
l64a subroutine returns a pointer to a null string.
For any base-64 ASCII string larger than zzzzz/ or 2147483647, the l64a
subroutine does not return the expected value. The value returned by l64a is a
pointer into a static buffer, the contents of which are overwritten by each
call.
Processed November 7, 1990 A64L(3,L) 1