Lua ip转整数

 

复制代码
function _M.ipToInt( str )
    local num = 0
    if str and type(str)=="string" then
        local o1,o2,o3,o4 = str:match("(%d+)%.(%d+)%.(%d+)%.(%d+)" )
        num = 2^24*o1 + 2^16*o2 + 2^8*o3 + o4
    end
    return num
end
-- inter to ip
function _M.intToIp( n )
    if n then
        n = tonumber(n)
        local n1 = math.floor(n / (2^24)) 
        local n2 = math.floor((n - n1*(2^24)) / (2^16))
        local n3 = math.floor((n - n1*(2^24) - n2*(2^16)) / (2^8))
        local n4 = math.floor((n - n1*(2^24) - n2*(2^16) - n3*(2^8)))
        return n1.."."..n2.."."..n3.."."..n4 
    end
    return "0.0.0.0"
end
复制代码

转载于:https://my.oschina.net/ahuaahua/blog/1596110

posted @   笠航  阅读(841)  评论(0编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示