lua string.format的bug(已知存在于lua5.1.5、LuaJIT-2.0.4)

--[[
说明
    如下的数据,还原为二进制后
    只要把数据用string.format到其他变量中,就会丢失 - 长度不同(字符串连接符..正常)


经测试
    在如下版本中存在bug
        lua5.1.5
        LuaJIT-2.0.4

    在如下版本中正常
        lua5.3.4
        LuaJIT-2.1.0-beta3

]]


require "mime"
local base64_decode = mime.unb64

local str = [[eJyrVipILEnOULKqhjDii1NLgJxaHaWS/JLEnPjizKpUJSuD2loANI4OyA==]]

--会出错的数据(要进行base64 decode还原为二进制)
str = base64_decode(str)

print(#str)

local e = string.format("%s", str)
print(#e)

 

posted @ 2019-03-21 12:35  lcinx  阅读(650)  评论(0编辑  收藏  举报