Diese Funktionen werden zum Verwalten von Zahlen verwendet, die in ASCII-Zeichen zur Basis 64 gespeichert sind. Diese Zeichen definieren eine Notation, mit der lange ganze Zahlen durch maximal sechs Zeichen dargestellt werden können; jedes Zeichen stellt eine ’Ziffer’ in einer Schreibweise gemäß Basis 64 dar. Die für die Darstellung von ’Ziffern’ verwendeten Zeichen sind . für 0, / für 1, 0 bis einschließlich 9 für 2-11, A bis einschließlich Z für 12-37 und a bis einschließlich z für 38-63. a64l() erwartet einen Zeiger auf eine mit Null-Byte abgeschlossene Basis-64-Darstellung und gibt den entsprechenden long -Wert zurück. Wenn die Zeichenkette, auf die s zeigt, mehr als sechs Zeichen enthält, verwendet a64l() die ersten sechs Zeichen. War die übergebene Zeichenkette leer, ist der Returnwert 0L.
a64l() durchläuft 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 Bit enthält, erhält das Resultat ein Vorzeichen. Das Verhalten von a64l() ist undefiniert, wenn s der Nullzeiger ist oder wenn die Zeichenkette, auf die s zeigt, nicht durch einen vorhergehenden Aufruf von l64a() erzeugt wurde.
l64a() erwartet ein long -Argument und gibt einen Zeiger auf die entsprechende Basis-64-Darstellung zurück. Wenn das Argument 0 ist, gibt l64a() einen Zeiger auf eine Nullzeichenkette zurück. Das Verhalten von l64a() ist undefiniert, wenn der Wert des Arguments negativ ist.
|