0
我的應用程序需要通過電線發送和讀取IPv6地址。它只會被我的應用程序讀取,但我仍然想遵循約定。有這樣的庫函數嗎?如何從原始字節獲取IPv6地址?
我的應用程序需要通過電線發送和讀取IPv6地址。它只會被我的應用程序讀取,但我仍然想遵循約定。有這樣的庫函數嗎?如何從原始字節獲取IPv6地址?
socket
模塊具有此功能,稱爲inet_pton。但是,它不適用於所有平臺。 (在我正在寫的Windows機器上不可用)。
我建議您使用名爲ipaddr的非標準庫。它有兩個有點不明顯的功能,可以完全滿足您的需求:
from ipaddr import ipaddr
raw = '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'
ip = ipaddr.IPv6Address(ipaddr.Bytes(raw))
print "IP is: " + str(ip)
original = bytes(ip.packed)
print "Original raw bytes: " + repr(original)