一.IP的表达形式
距离IP问问上线已接近2个月的时间,用户已经下载了680次IP问问(区县级别)数据库。在使用过程中,大家会发现IP地址的存储方式为Maxip与Minip的整数形式,而非常见的点分十进制形式,这是为了提高存储和查询效率。本文将阐述2种形式互相转换的方法,方便大家使用。
1.点分十进制形式
点分十进制(Dotted Decimal Notation)全称为点分(点式)十进制表示法,是IPv4的IP地址标识方法。IPv4中用四个字节表示一个IP地址,每个字节按照十进制表示为0~255。点分十进制就是用4个从0~255的数字,来表示一个IP地址,如1.119.0.0。
2.整数形式
整数形式,是IPv4地址的另一种表现形式,常用在数据库中,提高存储和查询效率,如1.119.0.0对应的整数形式是24576000。
IP从点分十进制形式转换为整数形式的过程如下:
●
每个IP地址每段可以看成是8位无符号整数即0~255,把每段拆分成一个二进制形式组合起来:
“1.119.0.0” 转成二进制串 “00000001 01110111 00000000 00000000”
● 然后把这个二进制数变为一个无符号32位整数:
00000001011101110000000000000000 转换为无符号32为整数 24576000
二.IP转换
1.数据库内置函数
●
MySQL数据库
点分十进制转换为数字形式
SELECT INET_ATON(1.119.0.0) 24576000
数字形式转换为点分十进制
SELECT INET_NTOA(24576000) 1.119.0.0
●
Oracle数据库
点分十进制转换为数字形式

数字形式转换为点分十进制

2.Python
引入模块
点分十进制转换为数字形式

数字形式转换为点分十进制

代码转换


3.JAVA
点分十进制转换为数字形式

数字形式转换为点分十进制

埃文科技–全球高精准IP地址定位技术领航者
作为专业从事位置服务的大数据技术科研互联网公司,自2012年成立至今,埃文科技持续推进IP地址定位领域的技术水准。公司专注于网络设备与地理空间位置映射系统的产品研发,拥有12项软件著作权及8项发明专利。
“全球IP地址定位的领航者,为用户提供更加精准的IP地址定位服务”