首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java ip2long等价物

Java ip2long等价物
EN

Stack Overflow用户
提问于 2012-05-29 21:58:50
回答 6查看 2.9K关注 0票数 2

你好,我有一个数据库来选择IP位置from>

这个脚本是用php编写的,我正在把它转换成java,但我不知道java中的ip2long('127.0.0.1' ));是什么意思。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2012-05-29 22:06:48

基本上,这会将点分隔的IP地址字符串转换为长字符串。

代码语言:javascript
复制
public static Long Dot2LongIP(String dottedIP) {
    String[] addrArray = dottedIP.split("\\.");        
    long num = 0;        
    for (int i=0;i<addrArray.length;i++) {            
        int power = 3-i;            
        num += ((Integer.parseInt(addrArray[i]) % 256) * Math.pow(256,power));        
    }        
    return num;    
}
票数 2
EN

Stack Overflow用户

发布于 2020-04-08 22:12:10

代码语言:javascript
复制
public static Long ipToLong(String stringIp) {
        return Arrays.stream(stringIp.split("\\."))
                .mapToLong(Long::parseLong)
                .reduce(0,
                        (a, b) -> (a << 8) + b);
}

public static String ipToString(Long longIp){
        return ((longIp >> 24) & 0xFF) + "." +
                ((longIp >> 16) & 0xFF) + "." +
                ((longIp >> 8) & 0xFF) + "." +
                (longIp & 0xFF);
}
票数 2
EN

Stack Overflow用户

发布于 2012-05-29 22:10:04

我不认为Java中有一个标准的API可以做到这一点,但是

1/ InetAddress类为您提供了获取字节数组的方法。

2/如果你真的需要一个整数,你可以使用这个片段,可以在http://www.myteneo.net/blog/-/blogs/java-ip-address-to-integer-and-back/上找到

代码语言:javascript
复制
public static String intToIp(int i) {
    return ((i >> 24 ) & 0xFF) + "." +

           ((i >> 16 ) & 0xFF) + "." +

           ((i >>  8 ) & 0xFF) + "." +

           ( i        & 0xFF);

}

public static Long ipToInt(String addr) {
    String[] addrArray = addr.split("\\.");

    long num = 0;

    for (int i=0;i<addrArray.length;i++) {

        int power = 3-i;

        num += ((Integer.parseInt(addrArray[i])%256 * Math.pow(256,power)));

    }

    return num;

}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10800693

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档