These functions are used to manage numbers stored in radix-64 ASCII characters. These characters define a notation with which long integers can be represented by a maximum of six characters; each character represents a ’digit’ in a base 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() expects a pointer to a base 64 representation ending in a null byte, and returns the corresponding long value. If the string pointed to by s contains more than six characters,
a64l() uses the first six characters. If the passed string was empty, the return value is 0L.
a64l() runs through the string from left to right (with the least significant digit on the left) and decodes each character as a 6-bit number in base 64. If the type long contains
more than 32 bits, the result is prefixed with a sign. The behavior of a64l() is undefined if s is the null pointer or if the string pointed to by s was not generated by a previous call of
l64a().
l64a() expects 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 behavior of l64a() is undefined if the value of the argument is negative.
|