other versions
A64L(3) | Linux Programmer's Manual | A64L(3) |
名前¶
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 を表す。
属性¶
マルチスレッディング (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 |