代码如下:
# -*- 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