Scroll to navigation

a64l(3) Library Functions Manual a64l(3)

ИМЯ

a64l, l64a - преобразование между типами long и base-64

LIBRARY

Standard C library (libc, -lc)

СИНТАКСИС

#include <stdlib.h>
long a64l(const char *str64);
char *l64a(long value);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

a64l(), l64a():


_XOPEN_SOURCE >= 500
|| /* glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* glibc <= 2.19: */ _SVID_SOURCE

ОПИСАНИЕ

Эти функции обеспечивают преобразование между 32-битными типами long integer и строками little-endian base-64 ASCII (длиной от 0 до 6). Если строка, используемая как аргумент для a64l(), имеет длину более шести, то будут использованы только первые 6 байтов. Если в типе long более 32 битов, то l64a() будет использовать только младшие 32 бита значения value, а a64l() расширит на знак свой 32-битный результат.

64 цифры в системе кодирования base-64:

'.'	represents a 0
'/'	represents a 1
0-9	represent  2-11
A-Z	represent 12-37
a-z	represent 38-63

So 123 = 59*64^0 + 1*64^1 = "v/".

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).

Интерфейс Атрибут Значение
l64a() Безвредность в нитях MT-Unsafe race:l64a
a64l() Безвредность в нитях MT-Safe

СТАНДАРТЫ

POSIX.1-2008.

ИСТОРИЯ

POSIX.1-2001.

ПРИМЕЧАНИЯ

Значение, возвращаемое a64l(), может быть указателем на статический буфер, возможно перезаписываемый последующими вызовами.

Поведение l64a() не определено, если value отрицательно. Если значение value равно нулю, то возвращается пустая строка.

These functions are broken before glibc 2.2.5 (puts most significant digit first).

Это не та кодировка, которая используется в uuencode(1).

СМОТРИТЕ ТАКЖЕ

uuencode(1), strtoul(3)

ПЕРЕВОД

Русский перевод этой страницы руководства разработал Dmitry Bolkhovskikh <d20052005@yandex.ru> и Yuri Kozlov <yuray@komyakino.ru>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику по его адресу электронной почты или по адресу списка рассылки русских переводчиков.

2 мая 2024 г. Linux man-pages (unreleased)