Python实现将IP地址转换为数字

首先先说IP地址的定义:网络之间互连的协议也就是为计算机网络相互连接进行通信而设计的协议。在因特网中,它是能使连接到网上的所有计算机网络实现相互通信的一套规则,规定了计算机在因特网上进行通信时应当遵守的规则。

IP地址的格式:四位点分十进制

比如 1100 0000 . 1010 1000 . 0000 0001 . 0000 1100对应的IP地址就是192.168.1.12

就是每四位将二进制转变为十进制

ip_addr = '192.168.2.10'
def ip2long(ip):
ip_list=ip.split('.') #首先先把ip的组成以'.'切割然后逐次转换成对应的二进制
result=0
for i in range(4): #0,1,2,3
result=result+int(ip_list[i])*256**(3-i)
return result
print(ip2long(ip_addr))
结果为:3232236042
把数字转换成ip地址
def long2ip(long):
  floor_list = []
  num = long
  for i in reversed(range(4)):
    res = divmod(num,256**i)
       floor_list.append(str(res[0]))
num = res[1]
return '.'.join(floor_list)

long = 3232236042
a = long2ip(long)
print(a)
192.168.2.10

  
  
认真做一件事,并将之完全学会掌握为止!
原文地址:https://www.cnblogs.com/wr13640959765/p/9418478.html