1 .\" Copyright 2002 walter harms (walter.harms@informatik.uni-oldenburg.de)
2 .\" Distributed under GPL
4 .\" Corrected, aeb, 2002-05-30
6 .\" Japanese Version Copyright (c) 2002-2003 Yuichi SATO
7 .\" all rights reserved.
8 .\" Translated Tue Aug 6 04:34:20 JST 2002
9 .\" by Yuichi SATO <ysato@h4.dion.ne.jp>
10 .\" Updated & Modified Thu Nov 27 01:02:55 JST 2003
11 .\" by Yuichi SATO <ysato444@yahoo.co.jp>
13 .\"WORD: sign-extend 符号拡張
15 .TH A64L 3 2010-09-20 "" "Linux Programmer's Manual"
17 a64l, l64a \- long と base-64 を変換する
19 .B #include <stdlib.h>
21 .BI "long a64l(char *" str64 );
23 .BI "char *l64a(long " value );
27 .RB ( feature_test_macros (7)
36 _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
37 _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
41 これらの関数は 32 ビット long 整数と
42 リトルエンディアン base-64 ASCII 文字列 (長さ 0 〜 6) の間の変換を行う。
53 は 32 ビットの結果を符号拡張 (sign-extend) する。
55 base-64 システムで使われる 64 個の文字は以下の通りである:
67 よって 123 = 59*64^0 + 1*64^1 = "v/" である。
72 で返される値は静的バッファへのポインタかもしれないので、
82 これらの関数は glibc 2.2.5 以前では間違っている