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

此博客为转载内容,原链接为https://www.cnblogs.com/lcinx/p/10570912.html ,涉及Lua和数据库相关信息技术内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

--[[
说明
    如下的数据,还原为二进制后
    只要把数据用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)

 

转载于:https://www.cnblogs.com/lcinx/p/10570912.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值