`
流浪鱼
  • 浏览: 1681974 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ip转换为long

    博客分类:
  • java
 
阅读更多

 

public class IpUtils {
	public static long ipToLong(String strIp){
		   long[] ip = new long[4];
		   //先找到IP地址字符串中.的位置
		    int position1 = strIp.indexOf(".");
		    int position2 = strIp.indexOf(".", position1 + 1);
		    int position3 = strIp.indexOf(".", position2 + 1);
		    //将每个.之间的字符串转换成整型
		    ip[0] = Long.parseLong(strIp.substring(0, position1));
		    ip[1] = Long.parseLong(strIp.substring(position1+1, position2));
		    ip[2] = Long.parseLong(strIp.substring(position2+1, position3));
		    ip[3] = Long.parseLong(strIp.substring(position3+1));
		    return (ip[0] << 24) + (ip[1] << 16) + (ip[2] << 8) + ip[3];
		}

		    //将十进制整数形式转换成127.0.0.1形式的ip地址
		    public static String longToIP(long longIp){
		        StringBuffer sb = new StringBuffer("");
		        //直接右移24位
		        sb.append(String.valueOf((longIp >>> 24)));
		        sb.append(".");
		        //将高8位置0,然后右移16位
		        sb.append(String.valueOf((longIp & 0x00FFFFFF) >>> 16));
		        sb.append(".");
		        //将高16位置0,然后右移8位
		        sb.append(String.valueOf((longIp & 0x0000FFFF) >>> 8));
		        sb.append(".");
		        //将高24位置0
		        sb.append(String.valueOf((longIp & 0x000000FF)));
		        return sb.toString();
		    }
		    /** *//**
		     * @param args
		     */
//		    public static void main(String[] args){
//		        String ipStr = "10.241.73.96";
//		        long longIp = IpUtils.ipToLong(ipStr);
//		        long ip1=3689660470L;
//		        System.out.println("192.168.0.1 的整数形式为:" + longIp);
//		        System.out.println("整数" + longIp + "转化成字符串IP地址:"
//		                + IpUtils.longToIP(longIp));
//		        System.out.println("整数" + ip1 + "转化成字符串IP地址:"
//		                + IpUtils.longToIP(ip1));
//		        //ip地址转化成二进制形式输出
//		        System.out.println("192.168.0.1 的二进制形式为:" + Long.toBinaryString(longIp));
//
//		    }
}

 

分享到:
评论

相关推荐

    linux点分十进制IP转换为long型

    linux点分十进制IP转换为long型 网络字节序与主机字节序互转

    Java_IPv4转换_ip2long_long2IP

    Java_IPv4转换_ip2long_long2IP,与php/java/javascript互相兼容

    ip转成Long

    用java写的ip转成Long数据类型的UDF函数,在hive中查询IP对应的省、市必须用到的函数

    ip地址转long,long转ip

    该类可以将long型数据转换为Ip格式字符串,将ip格式字符串转换为long

    ip2long和long2ip的学习程序

    `ip2long`函数的主要作用是将IPv4地址(例如"192.168.1.1")转换为32位无符号整型数值。这个整数值可以更方便地在网络协议中进行处理和比较。转换过程中,每个八位字节的IP地址部分被转换成一个十进制数,并用`.`...

    IP地址转化为长整型long

    然而,在某些编程场景下,为了便于计算和存储,我们需要将IP地址转化为长整型(long)数值。这个过程涉及到IPv4地址的二进制表示和整数转换。本文将详细讲解如何实现这一转化,并通过一个简单的源码示例来说明。 ...

    unsignedLongIP地址的转换

    在IT领域,网络编程是不可或缺的一部分,而...在实际开发中,开发者可能会编写这样的工具来辅助调试或数据分析,尤其是在处理大量IP数据时,将数值形式的IP转换为点分十进制形式,可以更直观地理解数据,提高工作效率。

    php IP转换整形(ip2long)的详解

    `ip2long()`函数在处理这种点分十进制格式的IP地址时,会将其转换为单一的32位数字,便于存储和计算。 首先,让我们深入理解`ip2long()`的工作原理。对于一个IP地址,例如"10.2.1.3",它实际上可以被视为一个32位二...

    python将ip地址转换成整数的方法

    有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法。...

    探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法

    标题“探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法”指向了一个在PHP编程中较为常见的问题,即当使用ip2long函数将IP地址转换为整数形式时,由于PHP整型是有符号的,对于某些IP地址,特别是那些高位超过...

    详谈php ip2long 出现负数的原因及解决方法

    `ip2long` 是一个PHP内置函数,其功能是将一个符合标准格式的IPv4地址转换为32位无符号整型数字。函数的原型如下: ```php int ip2long(string $ip_address) ``` 参数 `$ip_address` 是一个字符串形式的IP地址,如...

    PHP使用纯真数据IP库转换物理IP

    - 在函数内部,可以使用`ip2long()`函数将IP地址转换为数字,便于与数据库中的IP段进行比较。 - 当找到匹配的IP段时,提取出地理位置信息并返回。 以下是一个简单的PHP函数示例: ```php function ...

    ip转为十进制整数

    - 对于IP地址`127.0.0.1`,转换为整数的计算过程如下: - 第一部分(127)对应24位,因此需要左移24位; - 第二部分(0)对应16位,因此需要左移16位; - 第三部分(0)对应8位,因此需要左移8位; - 第四部分...

    PHP实现IP–数字互相转换

    在IT领域,网络编程是不可或缺的一部分,而IP地址与数字之间的转换则是网络编程中的常见操作。... 首先,让我们了解IP地址和数字表示的基础知识。...总的来说,理解并运用这些IP转换函数是PHP程序员必备的网络编程基础。

    IP与数字 互相转换 C#

    ### IP与数字互相转换C# #### 知识点概述 在计算机网络中,IP地址是设备在网络中的唯一标识。IPv4地址通常表示为四个十进制数字(每个数字范围0到255),用点号分隔。例如:`192.168.1.1`。在某些应用场景下,将...

Global site tag (gtag.js) - Google Analytics