bionic (3) a64l.3.gz

Provided by: manpages-ja-dev_0.5.0.0.20161015+dfsg-1_all bug

名前

       a64l, l64a - long と base-64 を変換する

書式

       #include <stdlib.h>

       long a64l(const char *str64);

       char *l64a(long value);

   glibc 向けの機能検査マクロの要件 (feature_test_macros(7)  参照):

       a64l(), l64a():
           _SVID_SOURCE || _XOPEN_SOURCE >= 500 || _XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED

説明

       これらの関数は 32 ビット long 整数と リトルエンディアン base-64 ASCII 文字列 (長さ 0 〜 6) の間の変換を行
       う。 a64l()  の引き数の文字列が 7 文字以上の場合、 最初の 6 バイトが使われる。 long 型が 32  ビットより大
       きい場合、   l64a()    は  value  の下位  32  ビットのみを使い、  a64l()   は  32  ビットの結果を符号拡張
       (sign-extend) する。

       base-64 システムで使われる 64 個の文字は以下の通りである:

              '.'  は 0 を表す。
              '/'  は 1 を表す。
              0-9  は 2-11 を表す。
              A-Z  は 12-37 を表す。
              a-z  は 38-63 を表す。

       よって 123 = 59*64^0 + 1*64^1 = "v/" である。

属性

   マルチスレッディング (pthreads(7) 参照)
       l64a() 関数はスレッドセーフではない。

       a64l() 関数はスレッドセーフである。

準拠

       POSIX.1-2001.

注意

       l64a()  で返される値は静的バッファーへのポインターかもしれないので、 以降の呼び出しで上書きされる可能性が
       ある。

       value が負の場合、 l64a()  の動作は定義されていない。 value が 0 の場合は空文字列を返す。

       これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしている)。

       これは uuencode(1)  で使われるエンコーディングではない。

関連項目

       uuencode(1), strtoul(3)

この文書について

       この man ページは Linux man-pages プロジェクトのリリース 3.79 の一部 である。プロジェクトの説明とバグ報告
       に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。

                                                   2014-05-28                                            A64L(3)