set_decode_base32
`set_decode_base32` 指令将 Base32 编码的字符串解码为其原始二进制形式。
NGINX Set-Misc module
·
httpserverlocationif in serverif in location
语法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 数据,否则输出将为空。
⚠
确保为输出分配足够的内存;内存分配失败将导致错误。