0

我的应用程序需要通过网络发送和读取 IPv6 地址。它只会被我的应用程序读取,但我仍然想遵循约定。是否有这样做的库函数?

4

1 回答 1

1

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)
于 2012-11-22T07:29:45.373 回答