set_encode_base32

Кодирует строку в формат Base32.

Синтаксисset_encode_base32 $input_variable [padding];
По умолчаниюnone
Контекстhttp, server, location, if in server, if in location
Аргументы1-2

Описание

Директива set_encode_base32 кодирует заданную строку в формат Base32, что особенно полезно для представления данных в окружениях, где разрешены только ASCII-символы. Эта директива работает путём преобразования входных данных на основе предопределённого алфавита и включает опцию заполнения выходных данных символами '='. Метод кодирования Base32 часто используется для кодирования двичных данных в строку, чтобы облегчить их хранение и передачу в текстовых форматах.

Директива может принимать от одного до двух параметров: переменную для кодирования и необязательный флаг заполнения. Заполнение, если оно включено, обеспечивает, что закодированный результат соответствует требуемой длине для некоторых приложений, которым нужен постоянный размер блока. Закодированный результат сохраняется в переменной, указанной пользователем, и затем может быть использован в других частях конфигурации NGINX или возвращён в ответах клиентам.

Пример конфига

location /encode {
    set $input_data "Hello, World!";
    set_encode_base32 $output_data;
    add_header Content-Type text/plain;
    return 200 $output_data;
}

Убедитесь, что входная переменная содержит корректную строку перед применением этой директивы, чтобы избежать неожиданных результатов.

Будьте осторожны с опцией заполнения, так как её неправильная обработка может привести к проблемам с декодированием позже.

← Ко всем директивам