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"
18 .\"O a64l, l64a \- convert between long and base-64
19 a64l, l64a \- long ¤È base-64 ¤òÊÑ´¹¤¹¤ë
22 .B #include <stdlib.h>
24 .BI "long a64l(char *" str64 );
26 .BI "char *l64a(long " value );
29 .\"O Feature Test Macro Requirements for glibc (see
30 .\"O .BR feature_test_macros (7)):
31 glibc ¸þ¤±¤Îµ¡Ç½¸¡ºº¥Þ¥¯¥í¤ÎÍ×·ï
32 .RB ( feature_test_macros (7)
41 _SVID_SOURCE || _XOPEN_SOURCE\ >=\ 500 ||
42 _XOPEN_SOURCE\ &&\ _XOPEN_SOURCE_EXTENDED
47 .\"O These functions provide a conversion between 32-bit long integers
48 .\"O and little-endian base-64 ASCII strings (of length zero to six).
49 ¤³¤ì¤é¤Î´Ø¿ô¤Ï 32 ¥Ó¥Ã¥È long À°¿ô¤È
50 ¥ê¥È¥ë¥¨¥ó¥Ç¥£¥¢¥ó base-64 ASCII ʸ»úÎó (Ťµ 0 ¡Á 6) ¤Î´Ö¤ÎÊÑ´¹¤ò¹Ô¤¦¡£
51 .\"O If the string used as argument for
53 .\"O has length greater than six, only the first six bytes are used.
55 ¤Î°ú¤¿ô¤Îʸ»úÎó¤¬ 7 ʸ»ú°Ê¾å¤Î¾ì¹ç¡¢
56 ºÇ½é¤Î 6 ¥Ð¥¤¥È¤¬»È¤ï¤ì¤ë¡£
59 .\"O has more than 32 bits, then
61 .\"O uses only the low order 32 bits of
65 .\"O sign-extends its 32-bit result.
67 ·¿¤¬ 32 ¥Ó¥Ã¥È¤è¤êÂ礤¤¾ì¹ç¡¢
71 ¤Î²¼°Ì 32 ¥Ó¥Ã¥È¤Î¤ß¤ò»È¤¤¡¢
73 ¤Ï 32 ¥Ó¥Ã¥È¤Î·ë²Ì¤òÉä¹æ³ÈÄ¥ (sign-extend) ¤¹¤ë¡£
75 .\"O The 64 digits in the base-64 system are:
76 base-64 ¥·¥¹¥Æ¥à¤Ç»È¤ï¤ì¤ë 64 ¸Ä¤Îʸ»ú¤Ï°Ê²¼¤ÎÄ̤ê¤Ç¤¢¤ë:
80 .\"O \&\(aq.\(aq represents a 0
81 \&\(aq.\(aq ¤Ï 0 ¤òɽ¤¹¡£
82 .\"O \&\(aq/\(aq\& represents a 1
83 \&\(aq/\(aq ¤Ï 1 ¤òɽ¤¹¡£
84 .\"O 0-9 represent 2-11
86 .\"O A-Z represent 12-37
88 .\"O a-z represent 38-63
93 .\"O So 123 = 59*64^0 + 1*64^1 = "v/".
94 ¤è¤Ã¤Æ 123 = 59*64^0 + 1*64^1 = "v/" ¤Ç¤¢¤ë¡£
95 .\"O .SH "CONFORMING TO"
100 .\"O The value returned by
102 .\"O may be a pointer to a static buffer, possibly overwritten
105 ¤ÇÊÖ¤µ¤ì¤ëÃͤÏÀÅŪ¥Ð¥Ã¥Õ¥¡¤Ø¤Î¥Ý¥¤¥ó¥¿¤«¤â¤·¤ì¤Ê¤¤¤Î¤Ç¡¢
106 °Ê¹ß¤Î¸Æ¤Ó½Ð¤·¤Ç¾å½ñ¤¤µ¤ì¤ë²ÄǽÀ¤¬¤¢¤ë¡£
110 .\"O is undefined when
115 .\"O is zero, it returns an empty string.
119 ¤ÎÆ°ºî¤ÏÄêµÁ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£
121 ¤¬ 0 ¤Î¾ì¹ç¤Ï¶õʸ»úÎó¤òÊÖ¤¹¡£
123 .\"O These functions are broken in glibc before 2.2.5
124 .\"O (puts most significant digit first).
125 ¤³¤ì¤é¤Î´Ø¿ô¤Ï glibc 2.2.5 °ÊÁ°¤Ç¤Ï´Ö°ã¤Ã¤Æ¤¤¤ë
126 (ºÇ¾å°Ì¥Ç¥¸¥Ã¥È¤òºÇ½é¤Ë¤·¤Æ¤¤¤ë)¡£
128 .\"O This is not the encoding used by
129 .\"O .BR uuencode (1).
132 ¤Ç»È¤ï¤ì¤ë¥¨¥ó¥³¡¼¥Ç¥£¥ó¥°¤Ç¤Ï¤Ê¤¤¡£