一、IP地址的格式
IP(Internet Protocol)地址是网络中的一种标识,用来识别网络中的计算机,它是由四个数字组成的32位的二进制数,每个数字可以是0-255之间的数字,如:192.168.1.1。
二、IP地址转换为整数
IP地址转换为整数是指将IP地址转换为一个32位的整数,其转换过程是将IP地址的每一段以8位二进制的形式表示,然后将每一段转换为10进制,最后将每一段相加得到一个32位的整数。
三、Python实现IP地址转换为整数
#!/usr/bin/env python
# -*- coding: utf-8 -*-
def ip2int(str_ip):
# 将IP地址拆分成4段
l = str_ip.split('.')
# 将4段IP地址转换为二进制
l1 = map(lambda x:bin(int(x))[2:], l)
# 将二进制转换为10进制
l2 = map(lambda x:int(x,2), l1)
# 将4段10进制相加得到一个32位的整数
return reduce(lambda x,y:x+y, l2)
if __name__ == '__main__':
str_ip = '192.168.1.1'
int_ip = ip2int(str_ip)
print int_ip
上面的代码实现了IP地址转换为整数的功能,在调用ip2int函数时,传入的参数为一个字符串格式的IP地址,函数内部首先将字符串格式的IP地址拆分成4段,然后将4段IP地址转换为二进制,将二进制转换为10进制,最后将4段10进制相加得到一个32位的整数,最后将这个整数返回。