A64L
Section: Linux Programmer's Manual (3)
Updated: 2020-08-13
Index JM Home Page
名前
a64l, l64a - long と base-64 を変換する
書式
#include <stdlib.h>
long a64l(const char *str64);
char *l64a(long value);
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
a64l(), l64a():
- _XOPEN_SOURCE >= 500
|| /* Glibc since 2.19: */ _DEFAULT_SOURCE
|| /* Glibc versions <= 2.19: */ _SVID_SOURCE
説明
これらの関数は 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*64ha0 + 1*64ha1 = "v/" である。
属性
この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース |
属性 |
値
|
l64a() |
Thread safety |
MT-Unsafe race:l64a
|
a64l() |
Thread safety |
MT-Safe
|
準拠
POSIX.1-2001, POSIX.1-2008.
注意
l64a() で返される値は静的バッファーへのポインターかもしれないので、 以降の呼び出しで上書きされる可能性がある。
value が負の場合、 l64a() の動作は定義されていない。 value が 0 の場合は空文字列を返す。
これらの関数は glibc 2.2.5 以前では間違っている (最上位デジットを最初にしている)。
これは uuencode(1) で使われるエンコーディングではない。
関連項目
uuencode(1), strtoul(3)
この文書について
この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。
関連キーワード
L,
long,
属性,
SOURCE,
pages,
参照,
準拠,
注意,
最初,
文字
Linux マニュアル 一覧
[man1]
[man2]
[man3]
[man4]
[man5]
[man6]
[man7]
[man8]
[a]
[b]
[c]
[d]
[e]
[f]
[g]
[h]
[i]
[j]
[k]
[l]
[m]
[n]
[o]
[p]
[q]
[r]
[s]
[t]
[u]
[v]
[w]
[x]
[y]
[z]
Index
- 名前
- 書式
- 説明
- 属性
- 準拠
- 注意
- 関連項目
- この文書について
This document was created by man2html, using the manual pages.
Time: 12:08:38 GMT, June 11, 2022