Lua解密函数get Error。

我是 Lua 方面的新手,尝试使用 Base64 编解码器 函数。当我尝试使用 bdc(解密函数)后打印数据时,它会出现错误。

function bdc(data)
    data = string.gsub(data, '[^'..b..'=]', '')
    return (data:gsub('.', function(x)
        if (x == '=') then return '' end
        local r,f='',(b:find(x)-1)
        for i=6,1,-1 do r=r..(f%2^i-f%2^(i-1)>0 and '1' or '0') end
        return r;
    end):gsub('%d%d%d?%d?%d?%d?%d?%d?', function(x)
        if (#x ~= 8) then return '' end
        local c=0
        for i=1,8 do c=c+(x:sub(i,i)=='1' and 2^(8-i) or 0) end
        return string.char(c)
    end))
end
print(bdc('NjAgOTYgMDMgNjYgNDAgNjUgMDEgNkMgMDYgNjUgMDEgNkMgMDUgNjUgMDEgNkMgMDggNjUgMDEgNkMgMDk='))

错误信息

lua: data.lua:3: attempt to concatenate global 'b' (a nil value)
stack traceback:
    data.lua:3: in function 'bdc'
    data.lua:16: in main chunk
    [C]: ?

请告知产生了什么错误以及原因。

点赞