关闭

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

967人阅读 评论(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

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:269281次
    • 积分:4431
    • 等级:
    • 排名:第6962名
    • 原创:137篇
    • 转载:25篇
    • 译文:42篇
    • 评论:23条
    博客专栏
    文章分类
    最新评论