python2.7_1.4_将IPV4地址转换成不同的格式

时间:2024-11-27 23:06:20

代码如下:

# -*- coding: utf-8 -*-
import socket
from binascii import hexlify def convert_ip4_address():
'''如果要使用低层网络函数,有时普通的字符串形式
的IP地址并不是很有用,需要把他们转换成打包后的32位二进制格式''' for ip_addr in ['127.0.0.1', '192.168.0.1']:
# 把字符串形式的IP地址转换成打包后的32位二进制格式
packed_ip_addr = socket.inet_aton(ip_addr)
# 把32位二进制格式的IP地址转换成字符串形式
unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr)
# 调用binascii模块中hexlify函数,以十六进制形式表示二进制数据
print 'IP Address:%s => Packed:%s,Unpacked:%s'\
% (ip_addr, hexlify(packed_ip_addr), unpacked_ip_addr) if __name__ == '__main__':
convert_ip4_address()

运行后

IP Address:127.0.0.1 => Packed:7f000001,Unpacked:127.0.0.1
IP Address:192.168.0.1 => Packed:c0a80001,Unpacked:192.168.0.1