我是Lua的新手,当我尝试使用bdc(解密函数)后打印数据时尝试使用Base64 encoder/decoder函数,它会给出错误
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]: ?
请讲述错误&为什么他们来了?