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:

'.'	представляет 0
'/'	представляет 1
0-9	представляет  2-11
A-Z	представляет 12-37
a-z	представляет 38-63

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

АТРИБУТЫ

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

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

СТАНДАРТЫ

POSIX.1-2001, POSIX.1-2008.

ЗАМЕЧАНИЯ

Значение, возвращаемое 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 версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

15 декабря 2022 г. Linux man-pages 6.02