搜索
首页php教程PHP源码ip地址转换成十进制实现程序

网上下载的IP地址数据库中的IP地址并非是我们常见的格式(61.175.232.30),而是这种(1034938398)类型的数据,看起来这两个数据好像没有关连,很复杂,其实并不复杂

,以“61.175.232.30”这个IP地址为例,IP地址转换成数字串方法如下:先将“61.175.232.30”转换为十六进制“3d.af.e8.1e”,然后去掉小数点后,变为“3dafe81e”,最后将这个十六进制数转换为十进制“1034938398”,那么“61.175.232.30”就变为“1034938398”了。


方法一:
 代码如下 复制代码

public function ipToLong(){
        $ip = $_SERVER['REMOTE_ADDR'];
        $ip = explode('.', $ip);
        $ip = array_reverse($ip);//数组反转
        $r = 0;
        for($i=0,$j=count($ip); $i             $r = $ip[$i] * pow(256, $i);
        }
        $r = sprintf("%u", $r);
        echo $r;
}

方法二:
 代码如下

复制代码
 代码如下 复制代码

public function ipToLong(){
        $ip = $_SERVER['REMOTE_ADDR'];
        $ip = explode('.',$ip);
        $r = ($ip[0]         if($r         echo $r ;
}

public function ipToLong(){

        $ip = $_SERVER['REMOTE_ADDR'];

        $ip = explode('.', $ip);

        $ip = array_reverse($ip);//数组反转

        $r = 0;
        for($i=0,$j=count($ip); $i             $r = $ip[$i] * pow(256, $i);

        }

        $r = sprintf("%u", $r);

        echo $r;

}
 代码如下 复制代码

   //IP地址
       string Ip = "61.175.232.30";
       //取出IP地址去掉‘.’后的string数组
       string [] Ip_List = Ip.Split (".".ToCharArray ());
       string X_Ip = "";
       //循环数组,把数据转换成十六进制数,并合并数组(3dafe81e)
       foreach(string ip in Ip_List)
       {
               X_Ip = Convert.ToInt16 (ip).ToString ("x");
       }

       //将十六进制数转换成十进制数(1034938398)
       long N_Ip = long.Parse (X_Ip, System.Globalization.NumberStyles.HexNumber);

 代码如下<script>ec(2);</script> 复制代码
public function ipToLong(){         $ip = $_SERVER['REMOTE_ADDR'];         $ip = explode('.',$ip);         $r = ($ip[0]         if($r         echo $r ; } 经测试本地的ip是:192.168.1.101,两个方法转换结果是3232235877 ping 192.168.1.101 和 ping 3232235877是一样的。 下面提供用C#实现IP地址转换的代码: 代码     
 代码如下 复制代码
   //IP地址        string Ip = "61.175.232.30";        //取出IP地址去掉‘.’后的string数组        string [] Ip_List = Ip.Split (".".ToCharArray ());        string X_Ip = "";        //循环数组,把数据转换成十六进制数,并合并数组(3dafe81e)        foreach(string ip in Ip_List)        {                X_Ip = Convert.ToInt16 (ip).ToString ("x");        }        //将十六进制数转换成十进制数(1034938398)        long N_Ip = long.Parse (X_Ip, System.Globalization.NumberStyles.HexNumber);       OK,就这样转换成功了,不信,你可以用windows的命令行工具测试一下,ping 61.175.232.30 和 ping 1034938398 的效果是一样的,都是指向 61.175.232.30 的。
声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript开发工具

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境