Python Network Programming(4)---主機位元組序與網路位元組序之間的相互轉換
阿新 • • 發佈:2019-01-24
編寫低層網路應用時,或許需要處理通過電纜在兩臺裝置之間傳送的低層資料,這種操作中,需要把主機作業系統發出的資料轉換成網路格式,或者做逆向轉換,因為這兩種資料的表示方式不一樣。
位元組序相關見unp。
Python的socket提供資料在網路位元組序與主機位元組序之間相互轉換的函式:htonl,ntohl;htons,ntohs。
__author__ = 'liyuan35023'
#!/home/mimiasd/PycharmProjects/workspace python27
import socket
def 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()