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/ に書かれている。

関連キーワード

ビット   long   base   最初   Thread   safety   stdlib   検査   マクロ   要件   macros   since   versions   整数   リトル   エンディアン   以上   バイト   下位   符号   拡張   用語   allbox   インターフェース   属性

Linux マニュアル 一覧

関連するコマンド・関数

a64l.3   ffs.3   ffsl.3   ffsll.3   base32.1   base64.1
 

Index

名前
書式
説明
属性
準拠
注意
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 04:39:02 GMT, October 11, 2026