iptolongphp的简单介绍

华为云服务器特价优惠火热进行中!

2核2G2兆仅需 38 元;4核4G3兆仅需 79 元。购买时间越长越优惠!更多配置及优惠价格请咨询客服。

合作流程:
1、点击链接注册/关联华为云账号:点击跳转
2、添加客服微信号:cloud7591,确定产品方案、价格方案、服务支持方案等;
3、客服协助购买,并拉微信技术服务群,享受一对一免费技术支持服务;
技术专家在金蝶、华为、腾讯原厂有多年工作经验,并已从事云计算服务8年,可对域名、备案、网站搭建、系统部署、AI人工智能、云资源规划等上云常见问题提供更专业靠谱的服务,对相应产品提供更优惠的报价和方案,欢迎咨询。

今天给各位分享iptolongphp的知识,其中也会对进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

微信号:cloud7591
如需了解更多,欢迎添加客服微信咨询。
复制微信号

本文目录一览:

php ip2long有什么作用

ip2long 把ip地址转换成整型,很多时候都把ip转换成整型再存进数据库

long2ip 则相反,把整型还原为ip地址

php判断IP跳转页面

代码如下,将所有IP转换为整数再比较:

?php

$ip_from = ip2long('192.168.0.0'); # 起始IP

$ip_to = ip2long('192.168.0.255'); # 终止IP

$client_ip = ip2long($_SERVER['REMOTE_ADDR']); # 客户端IP

if ($ip_from  $client_ip and $client_ip  $ip_to) {

    header('Location: ...');

}

为什么在开发中要将IP转化为Long类型

ip地址的各种表现形式:

32位二进制形式:11001010011100000110000010100011

十进制形式:3396362403

普通形式:202.112.96.163

这个不是说非要用那种方式保存,比如单片机只认识高频(1)和低频(0)信号,你要传递一个IP给硬件设备的话,也许就需要转成32位的二进制告诉它。

php如何将ip点分十进制转换成16进制

$ip = '192.168.0.1';

$long = ip2long($ip);

echo $hex = dechex($long);

c# 如何将一个字符串形式的IP地址转化为long型的数据?

将一个Ip地址转换成整形

//接受一个String类型的一个参数,将其转化成一个long类型的

//暂时转化String类型的IP地址

public long ipToLong(String ip){

String[] ips = ip.split("//.");

StringBuffer strip = new StringBuffer();

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

strip.append(ips[i]);

}

return Long.parseLong(strip.toString());

}

当发生 192.168.12.1和192.168.1.21的时候用上面的那种转换的话,结果是相同的:192168121

所以有下面两种方式:

第一种:

id分为四段,每段不够3位的话,加零如:192.168.12.1和192.168.1.21,结果是:192168012001和192168001021

code:

package com.text.dos;

import org.omg.PortableInterceptor.DISCARDING;

public class Test {

/**

* @param args

*/

public static void main(String[] args) {

// TODO 自动生成方法存根

String s = "192.168.1.12";

long j = doString(s);

System.out.println(j);

}

private static long doString(String idString)

{

long i = 0;

int a1 = idString.indexOf(".");

int a2 = idString.indexOf(".",a1+1);

int a3 = idString.indexOf(".",a2+1);

String s1 = idString.substring(0,a1);

String s2 = idString.substring(a1+1,a2);

String s3 = idString.substring(a2+1, a3);

String s4 = idString.substring(a3+1,idString.length());

//System.out.println(s4);

if(s1.length()==1)

s1 = "00"+s1;

else if (s1.length()==2) {

s1 = "0"+s1;

}

System.out.println(s1);

if(s2.length()==1)

s2 = "00"+s2;

else if (s2.length()==2) {

s2 = "0"+s2;

}

System.out.println(s2);

if(s3.length()==1)

s3 = "00"+s3;

else if (s3.length()==2) {

s3 = "0"+s3;

}

if(s4.length()==1)

s4 = "00"+s4;

else if (s4.length()==2) {

s4 = "0"+s4;

}

System.out.println(s3);

String s = s1+s2+s3+s4;

i = Long.parseLong(s);

return i;

}

}

第二种:

一、应用范围

一般用在登录限制、查找IP所在城市等需求中,windows的ping命令也支持整数形式的IP。

二、关键技术点

将IP地址转化成整数的方法如下:

1、通过String的indexOf方法找出IP字符串中的点"."的位置。

2、根据点的位置,使用String的substring方法把IP字符串分成4段。

3、使用Long的parseLong方法把子段转化成一个3位整数。

4、通过左移位操作()给每一段的数字加权,第一段的权为2的24次方,第二段的权为2的16次方,第三段的权为2的8次方,最后一段的权为1

将整数形式的IP地址转化成字符串的方法如下:

1、将整数值进行右移位操作(),右移24位,右移时高位补0,得到的数字即为第一段IP。

2、通过与操作符()将整数值的高8位设为0,再右移16位,得到的数字即为第二段IP。

3、通过与操作符吧整数值的高16位设为0,再右移8位,得到的数字即为第三段IP。

4、通过与操作符吧整数值的高24位设为0,得到的数字即为第四段IP。

三、实例演示

public class IP2Long ...{

//将127.0.0.1形式的IP地址转换成十进制整数,这里没有进行任何错误处理

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 = "192.168.0.1";

long longIp = IP2Long.ipToLong(ipStr);

System.out.println("192.168.0.1 的整数形式为:" + longIp);

System.out.println("整数" + longIp + "转化成字符串IP地址:"

+ IP2Long.longToIP(longIp));

//ip地址转化成二进制形式输出

System.out.println("192.168.0.1 的二进制形式为:" + Long.toBinaryString(longIp));

}

}

关于iptolongphp和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

发布于 2023-03-04 04:03:26
收藏
分享
海报
49
目录

    忘记密码?

    图形验证码

    复制成功
    微信号: cloud7591
    如需了解更多,欢迎添加客服微信咨询。
    我知道了