名 前
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) で 使 わ れ る エ ン コ ー デ ィ ン グ で は な い 。
関 連 項 目
こ の 文 書 に つ い て
こ の man ペ ー ジ は Linux man−pages プ ロ ジ ェ ク ト の リ リ ー ス 3.79 の 一 部 で あ る 。 プ ロ ジ ェ ク ト の 説 明 と バ グ 報 告 に 関 す る 情 報 は http://www.kernel.org/doc/man−pages/ に 書 か れ て い る 。