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)