a64l(3C) a64l(3C)
NAME
a64l, l64a - Umwandlung von ASCII-Zeichenketten zur Basis 64 in 32-
Bit-Ganzzahlen
SYNTAX
#include <stdlib.h>
long a64l(const char *s);
char *l64a(long value);
BESCHREIBUNG
Diese Funktionen werden zum Verwalten von Zahlen verwendet, die in
ASCII-Zeichen zur Basis 64 gespeichert sind. Hierbei handelt es sich
um eine Schreibweise, mit der 32-Bit-Ganzzahlen durch maximal sechs
Zeichen dargestellt werden können. Jedes Zeichen stellt eine Ziffer in
der Schreibweise gemäß Basis 64 dar. Wenn der Typ long mehr als 32
Bits umfaßt, werden nur die niederwertigsten 32 Bits für diese Opera-
tion verwendet.
Die für die Darstellung von "Ziffern" verwendeten Zeichen sind "." für
0, "/" für 1, "0" bis "9" für 2-11, "A" bis "Z" für 12-37 und "a" bis
"z" für 38-63.
Die Funktion a64l() erwartet einen Zeiger auf eine Basis-64-Darstel-
lung, bei der die erste Ziffer die kleinste signifikante Ziffer ist,
und gibt einen entsprechenden long-Wert zurück. Wenn die Zeichenkette,
auf die s zeigt, mehr als sechs Zeichen enthält, verwendet a64l() die
ersten sechs Zeichen. Wenn die ersten sechs Zeichen der Zeichenkette
ein Nullzeichen (Endenull) enthalten, verwendet a64l() nur die Zeichen
vor der Endenull. Die Funktion a64l() durchsucht die Zeichenkette von
links nach rechts (mit der kleinsten signifikanten Ziffer links) und
decodiert jedes Zeichen als 6-Bit-Zahl zur Basis 64. Wenn der Typ long
mehr als 32 Bits enthält, wird das Ergebnis durch ein Vorzeichen
erweitert. Das Verhalten von a64l() ist unbestimmt, wenn s ein Null-
zeiger ist oder die Zeichenkette, auf die s zeigt, nicht durch einen
vorherigen Aufruf von l64a() generiert wurde.
Die Funktion l64a() erwartet ein long-Argument und gibt einen Zeiger
auf die entsprechende Basis-64-Darstellung zurück. Das Verhalten von
l64a() ist unbestimmt, wenn value negativ ist.
RÜCKGABEWERT
Bei erfolgreicher Ausführung gibt a64l() den long-Wert aus der Umset-
zung der Eingabezeichenkette zurück. Wenn ein Zeiger auf s eine leere
Zeichenkette ist, gibt a64l() den Wert 0L zurück.
Die Funktion l64a() gibt einen Zeiger auf die Basis-64-Darstellung
zurück. Wenn value gleich 0L ist, gibt l64a() einen Zeiger auf eine
leere Zeichenkette zurück.
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98
a64l(3C) a64l(3C)
FEHLER
Es sind keine Fehler definiert.
ANWENDUNGSZWECK
Der von l64a() zurückgegebene Wert kann ein Zeiger in einen statischen
Puffer sein. Durch nachfolgende Aufrufe von l64a() wird dieser Puffer
unter Umständen überschrieben.
Wenn der Typ long mehr als 32 Bits enthält, ist das Ergebnis von
a64l(l64a(x)) gleich x in den niederwertigsten 32 Bit.
SIEHE AUCH
strtoul(3C), stdlib(5).
Seite 2 Reliant UNIX 5.44 Gedruckt 11/98