[python&php 网络编程]格式化IPv4地址

14 篇文章 0 订阅

1.python写法

import socket
from binascii import hexlify

def convert_ip4_address():
    for ip_addr in ['127.0.0.1', '192.168.0.1']:
        packed_ip_addr = socket.inet_aton(ip_addr)
        unpacked_ip_addr = socket.inet_ntoa(packed_ip_addr)
        print "IP Address: %s => Packed: %s, Unpacked: %s" %(ip_addr, hexlify(packed_ip_addr), unpacked_ip_addr)

if __name__ == '__main__':
    convert_ip4_address()

2.php写法

<?php

function convert_ip4_address(){
    foreach(array('127.0.0.1', '192.168.0.1') as $ip_addr){
        $packed_ip_addr = ip2long($ip_addr);
        $unpacked_ip_addr = long2ip($packed_ip_addr);
        printf("IP Address: %s => Packed: %s, Unpacked: %s\n", $ip_addr, bin2hex(pack('N', $packed_ip_addr)), $unpacked_ip_addr);
    }
}

convert_ip4_address();

inet_aton()是一个改进的方法来将一个字符串IP地址转换为一个32位的网络序列IP地址。

inet_ntoa()是将一个IP转换成一个互联网标准点分格式的字符串。

但这两个函数php都没有对应的现成函数,我只好这么干了,可以看到做法慢慢复杂了,性能自然没法和python比~

转载请标注原文地址:http://blog.csdn.net/ddjohn/article/details/49930573

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值