Python—IP地址与整数之间的转换
1. 将整数转换成IP:
思路:将整数转换成无符号32位的二进制,再8位进行分割,每8位转换成十进制即可。
方法一:#!usr/bin/python
2 #encoding=utf-8
3 #1. 将整数转换成32位无符号二进制
4 def intToIp(num):
5 s = []
6 g = []
7 h = []
8 for i in range(32):
9 a = num%2
10 s.insert(0,a)
11 num = num/2
12 print s
13 #2. 每8位进行分割,将4个8位二进制转换成十进制,加.连接即可。
14 for i in xrange(0,32,8):
15 g.append(s[i:i+8])
16 print g
17 for temp in g:
18 sum = 0
19 j = 0
20 for temp2 in temp:
21 sum = sum + temp2*(2**(7-j))
22 j += 1
23 print sum
24 h.append(str(sum))
25 return '.'.join(h)
26 a=intToIp(123456789)
27 print a
方法二:
1 #!usr/bin/python
2 #encoding=utf-8
3 def inttoip(num):
4 s = bin(num)[2:]
5 s = s.zfill(32)
6 g = []
7 h = []
8 for i in xrange(0,32,8):
9 g.append(s[i:i+8])
10 for temp in g:
11 h.append(str(int(temp,2)))
12 e = ".".join(h)
13 print e
14
15 inttoip(123456789)

2. 将IP地址转换成整数:
思路:将IP的四位分别转换成8位二进制,去"."后整合,再换算成十进制。
#!usr/bin/python
2 #encoding=utf-8
3 #将IP地址转换为数值字符串,如7.91.205.21转换后为“123456789”
5 def IpToInt(num):
6 #1.将IP地址转换成32位的二进制。
7 s = num.split('.')
8 h = []
9 g = []
10 for temp in s:
11 while(temp!=0):
12 temp = int (temp)
13 a = temp % 2
14 h.insert(0,a)
15 temp = temp/2
16 if len(h)!= 8:
17 for i in range(8-len(h)):
18 h.insert(0,0)
19 g.extend(h)
20 h = []
21 # print g
22 #2. 将二进制换算成整数:
23 sum = 0
24 j = 0
25 for temp2 in g:
26 sum = sum + temp2*(2**(31-j))
27 j += 1
28 print sum
29 IpToInt("7.91.205.21")
方法二:借助Python内置函数
1 #!usr/bin/python
2 #encoding=utf-8
3 def iptoint(num):
4 h=[]
5 s = num.split(".")
6 for temp in s:
7 a = bin(int(temp))[2:]
8 a = a.zfill(8)
9 h.append(a)
10 g = "".join(h)
11 e = int(g,2)
12 print e
13
14 iptoint('7.91.205.21')

注:初学python,代码有点low,请见谅!
Python—IP地址与整数之间的转换的更多相关文章
- C# IP地址与整数之间的转换
IP地址与整数之间的转换 1.IP地址转换为整数 原理:IP地址每段可以看成是8位无符号整数即0-255,把每段拆分成一个二进制形式组合起来,然后把这个二进制数转变成一个无符号的32位整数. 举例:一 ...
- IP地址字符串与BigInteger的转换
/** * Copyright (c) 2010, 新浪网支付中心 * All rights reserved. * * Java IP地址字符串与BigInteger的转换, * ...
- Java IP地址字符串与BigInteger的转换, 支持IPv6
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- python IP地址转16进制
python IP地址转16进制 第一种方法: 通过socket.inet_aton实现 import socket from binascii import hexlify ary='192.168 ...
- ip地址与整数相互转换
一.将ip地址转成long数值 将IP地址转化成整数的方法如下: 1.通过String的split方法按.分隔得到4个长度的数组 2.通过左移位操作(<<)给每一段的数字加权,第一段的权为 ...
- python中unicode, hex, bin之间的转换
python中unicode, hex, bin之间的转换 背景 在smb中有个feature change notify, 需要改动文件权限dacl,然后确认是否有收到notify.一直得不到这个d ...
- 转:Python常见字符编码及其之间的转换
参考:Python常见字符编码 + Python常见字符编码间的转换 一.Python常见字符编码 字符编码的常用种类介绍 第一种:ASCII码 ASCII(American Standard Cod ...
- python模块--ip地址转换为整数
python整数与IP地址转换 [转] 我们有时会将一个整数与IP地址进行互换,用python代码实现很简单 将一个整数如2000000,变为一个IP地址的方式 >>> import ...
- ip(点分十进制 <==> 二进制整数)之间的转换
linux的套接字部分比较容易混乱,在这里稍微总结一下. 地址转换函数在地址的文本表达式和它们存放在套接字地址结构中的二进制值进行转换. 地址转换函数有四个:其中inet_addr 和 inet_nt ...
随机推荐
- python3 使用random函数批量产生注册邮箱
'''你是一个高级测试工程师,现在要做性能测试,需要你写一个函数,批量生成一些注册使用的账号. 1.产生的账号是以@163.com结尾,长度由用户输,产生多少条也由用户输入,2.用户名不能重复,用户名 ...
- 详解 WebRTC 高音质低延时的背后 — AGC(自动增益控制)
前面我们介绍了 WebRTC 音频 3A 中的声学回声消除(AEC:Acoustic Echo Cancellation)的基本原理与优化方向,这一章我们接着聊另外一个 "A" - ...
- flink-cdc读取postgres报异常,没有发布表
异常信息 must be superuser to create FOR ALL TABLES publication 必须是超级用户才能为所有发布表创建 网上搜索了一天,都毫无头绪,后面搜索到了一个 ...
- 治理对象ing
计算治理项包括产出表未被读.暴力扫描.数据膨胀.数据倾斜.出错节点.导入为空和输入为空. 存储的治理项包括生命周期过长.未管理表.废弃表.空表.逻辑未管理表.逻辑废弃表.逻辑空表和黑盒物化空表.
- WPF中Grid容器中VerticalAlignment和HorizonAlignment和Margin的关系。
在WPF中,经常使用Grid容器,来布局我们想要显示的对象. 这就不可避免的要和布局在其中的控件的VerticalAlignment特性,HorizonAlignment特性,以及Magin特性打交道 ...
- 深入浅出Promise
Abstract Promise的意思是承诺(在红宝书中翻译为期约),新华字典:(动)对某项事务答应照办. Promise最早出现在Commn JS,随后形成了Promise/A规范. Promise ...
- TensorFlow分布式详解
每次 TensorFlow 运算都被描述成计算图的形式,允许结构和运算操作配置所具备的自由度能够被分配到各个分布式节点上.计算图可以分成多个子图,分配给服务器集群中的不同节点. 强烈推荐读者阅读论文& ...
- cuDNN 功能模块解析
Abstract 本cuDNN 8.0.4开发人员指南概述了cuDNN功能,如可自定义的数据布局.支持灵活的dimension ordering,striding,4D张量的子区域,这些张量用作其所有 ...
- Python分析离散心率信号(中)
Python分析离散心率信号(中) 一些理论和背景 心率信号不仅包含有关心脏的信息,还包含有关呼吸,短期血压调节,体温调节和荷尔蒙血压调节(长期)的信息.也(尽管不总是始终如一)与精神努力相关联,这并 ...
- 新的微芯片MCU增加了来自外部闪存的安全引导保护
新的微芯片MCU增加了来自外部闪存的安全引导保护 New Microchip MCU Adds Secure Boot Protection from External Flash 对于从外部SPI闪 ...