IP地址转换成10进制,究竟有何奥秘?

2026-04-02 03:081阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计395个文字,预计阅读时间需要2分钟。

IP地址转换成10进制,究竟有何奥秘?

前言:最近需要方便IP存储和查询,所有数据都转换为10进制,今天来记录一下,方便以后操作,处理数据也会方便很多。PHP的IP十进制转换,第一种方法:

phppublic function ipToLong($ip) { $ip=ip2long($ip); return $ip;}

IP地址转换成10进制,究竟有何奥秘?

前言

最近需要方便ip存储和查询,所有的数据都转换为10进制,今天就来记录一下,方便以后也进行操作,处理数据也会方便很多

php的ip十进制转换

第一种方法

public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip = array_reverse($ip);//数组反转 $r = 0; for($i=0,$j=count($ip); $i<$j; $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] << 24) | ($ip[1] << 16) | ($ip[2] << 8) | $ip[3]; if($r < 0) $r += 4294967296; echo $r ; }

第三种方法

echo ip2long('192.168.1.1');//使用php函数

十进制转为ip php方法

function Long2DotIP ($IPNum) { if ($IPNum == "") { return "0.0.0.0"; } else { return (($IPNum / 16777216) % 256) . "." . (($IPNum / 65536) % 256) . "." . (($IPNum / 256) % 256) . "." . ($IPNum % 256); } }

function intToIP($iIP){ $xor = array(0x000000ff,0x0000ff00,0x00ff0000,0xff000000); for($i=0; $i<4; $i++){ $s = ''; $s = ($iIP & $xor[$i]) >> $i*8; if ($s < 0) $s += 256; $ips[] = $s; } krsort($ips); return implode('.',$ips); }

python的ip十进制相互转换

import socket import struct #ip转换十进制 socket.ntohl(struct.unpack("I",socket.inet_aton("10.10.58.64"))[0]) #十进制转换ip socket.inet_ntoa(struct.pack("I", socket.htonl(168442432)))

本文共计395个文字,预计阅读时间需要2分钟。

IP地址转换成10进制,究竟有何奥秘?

前言:最近需要方便IP存储和查询,所有数据都转换为10进制,今天来记录一下,方便以后操作,处理数据也会方便很多。PHP的IP十进制转换,第一种方法:

phppublic function ipToLong($ip) { $ip=ip2long($ip); return $ip;}

IP地址转换成10进制,究竟有何奥秘?

前言

最近需要方便ip存储和查询,所有的数据都转换为10进制,今天就来记录一下,方便以后也进行操作,处理数据也会方便很多

php的ip十进制转换

第一种方法

public function ipToLong(){ $ip = $_SERVER['REMOTE_ADDR']; $ip = explode('.', $ip); $ip = array_reverse($ip);//数组反转 $r = 0; for($i=0,$j=count($ip); $i<$j; $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] << 24) | ($ip[1] << 16) | ($ip[2] << 8) | $ip[3]; if($r < 0) $r += 4294967296; echo $r ; }

第三种方法

echo ip2long('192.168.1.1');//使用php函数

十进制转为ip php方法

function Long2DotIP ($IPNum) { if ($IPNum == "") { return "0.0.0.0"; } else { return (($IPNum / 16777216) % 256) . "." . (($IPNum / 65536) % 256) . "." . (($IPNum / 256) % 256) . "." . ($IPNum % 256); } }

function intToIP($iIP){ $xor = array(0x000000ff,0x0000ff00,0x00ff0000,0xff000000); for($i=0; $i<4; $i++){ $s = ''; $s = ($iIP & $xor[$i]) >> $i*8; if ($s < 0) $s += 256; $ips[] = $s; } krsort($ips); return implode('.',$ips); }

python的ip十进制相互转换

import socket import struct #ip转换十进制 socket.ntohl(struct.unpack("I",socket.inet_aton("10.10.58.64"))[0]) #十进制转换ip socket.inet_ntoa(struct.pack("I", socket.htonl(168442432)))