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型 网络字节序与主机字节序互转
Java_IPv4转换_ip2long_long2IP,与php/java/javascript互相兼容
用java写的ip转成Long数据类型的UDF函数,在hive中查询IP对应的省、市必须用到的函数
该类可以将long型数据转换为Ip格式字符串,将ip格式字符串转换为long
`ip2long`函数的主要作用是将IPv4地址(例如"192.168.1.1")转换为32位无符号整型数值。这个整数值可以更方便地在网络协议中进行处理和比较。转换过程中,每个八位字节的IP地址部分被转换成一个十进制数,并用`.`...
然而,在某些编程场景下,为了便于计算和存储,我们需要将IP地址转化为长整型(long)数值。这个过程涉及到IPv4地址的二进制表示和整数转换。本文将详细讲解如何实现这一转化,并通过一个简单的源码示例来说明。 ...
在IT领域,网络编程是不可或缺的一部分,而...在实际开发中,开发者可能会编写这样的工具来辅助调试或数据分析,尤其是在处理大量IP数据时,将数值形式的IP转换为点分十进制形式,可以更直观地理解数据,提高工作效率。
`ip2long()`函数在处理这种点分十进制格式的IP地址时,会将其转换为单一的32位数字,便于存储和计算。 首先,让我们深入理解`ip2long()`的工作原理。对于一个IP地址,例如"10.2.1.3",它实际上可以被视为一个32位二...
有时候我们用数据库存储ip地址时可以将ip地址转换成整数存储,整数占用空间小,索引也会比较方便,下面的python代码自定义了一个ip转换成整数的函数,非常简单,代码同时还提供了整数转换成ip地址的方法。...
标题“探讨PHP函数ip2long转换IP时数值太大产生负数的解决方法”指向了一个在PHP编程中较为常见的问题,即当使用ip2long函数将IP地址转换为整数形式时,由于PHP整型是有符号的,对于某些IP地址,特别是那些高位超过...
`ip2long` 是一个PHP内置函数,其功能是将一个符合标准格式的IPv4地址转换为32位无符号整型数字。函数的原型如下: ```php int ip2long(string $ip_address) ``` 参数 `$ip_address` 是一个字符串形式的IP地址,如...
- 在函数内部,可以使用`ip2long()`函数将IP地址转换为数字,便于与数据库中的IP段进行比较。 - 当找到匹配的IP段时,提取出地理位置信息并返回。 以下是一个简单的PHP函数示例: ```php function ...
- 对于IP地址`127.0.0.1`,转换为整数的计算过程如下: - 第一部分(127)对应24位,因此需要左移24位; - 第二部分(0)对应16位,因此需要左移16位; - 第三部分(0)对应8位,因此需要左移8位; - 第四部分...
在IT领域,网络编程是不可或缺的一部分,而IP地址与数字之间的转换则是网络编程中的常见操作。... 首先,让我们了解IP地址和数字表示的基础知识。...总的来说,理解并运用这些IP转换函数是PHP程序员必备的网络编程基础。
### IP与数字互相转换C# #### 知识点概述 在计算机网络中,IP地址是设备在网络中的唯一标识。IPv4地址通常表示为四个十进制数字(每个数字范围0到255),用点号分隔。例如:`192.168.1.1`。在某些应用场景下,将...