set_decode_base32

`set_decode_base32` 指令将 Base32 编码的字符串解码为其原始二进制形式。

语法set_decode_base32 $output_var $input_var;
默认值none
上下文http, server, location, if in server, if in location
参数1-2

说明

set_decode_base32 指令用于解读 Base32 编码的字符串,这在处理使用 32 个可打印字符的编码格式的数据时尤其有用。该指令需要一个或两个参数:用于保存解码结果的变量名,以及一个可选的变量,表示 Base32 编码的输入字符串。该指令从指定的输入变量中获取编码字符串,为解码后的输出分配适当的内存,然后将结果放入指定的变量。

在解码过程中,函数会验证输入长度,并使用预定义的公式计算输出的预期长度。如果输入不符合 Base32 编码标准,解码可能失败,导致输出变量为空,从而表明操作失败。如果解码成功,输出将包含原先被编码的二进制数据。该指令在 Base32 编码常见的 Web 应用和 API 中尤其有用,它通过将数据解码为原生格式以便后续处理,实现无缝的数据处理。

配置示例

server {
    location /decode {
        set $encoded_string 'MZXW6YTBOI======';
        set $decoded_string '';  
        set_decode_base32 $decoded_string $encoded_string;
        # Now $decoded_string holds the binary data of the base32 string
    }
}

输入变量必须包含 Base32-encoded 数据,否则输出将为空。

确保为输出分配足够的内存;内存分配失败将导致错误。

← 返回所有指令