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