Python Network Programming(4)---主机字节序与网络字节序之间的相互转换

来源:互联网 发布:科学 知乎 编辑:程序博客网 时间:2024/06/10 00:46

编写低层网络应用时,或许需要处理通过电缆在两台设备之间传送的低层数据,这种操作中,需要把主机操作系统发出的数据转换成网络格式,或者做逆向转换,因为这两种数据的表示方式不一样。

字节序相关见unp。

Python的socket提供数据在网络字节序与主机字节序之间相互转换的函数:htonl,ntohl;htons,ntohs。

__author__ = 'liyuan35023'#!/home/mimiasd/PycharmProjects/workspace python27import socketdef convert_integer():    data = 1234    # 32bits    print "original: %s => Long host: %s, Long network: %s"\        % (data, socket.ntohl(data), socket.htonl(data))    # 16bits    print "original: %s => Short host: %s, Short network: %s"\        % (data, socket.ntohs(data), socket.htons(data))if __name__ == "__main__":    convert_integer()
0 0