0

私のアプリケーションは、ネットワーク経由で IPv6 アドレスを送信および読み取る必要があります。私のアプリケーションによってのみ読み取られる予定ですが、それでも規則に従いたいと思います。これを行うためのライブラリ関数はありますか?

4

1 に答える 1

1

このsocketモジュールには、inet_ptonと呼ばれる関数があります。ただし、すべてのプラットフォームで使用できるわけではありません。(これを書いている Windows マシンでは利用できません。)

ipaddrという非標準ライブラリを使用することをお勧めします。必要なことを正確に実行する、ややわかりにくい機能が 2 つあります。

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 に答える