我正在将IPv6地址转换为文本表示形式,并注意到一种我无法解释的行为:
In[38]: socket.inet_ntop(socket.AF_INET6, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\x7f\x00\x00\x01')
Out[38]: '::ffff:127.0.0.1'
In[39]: socket.inet_ntop(socket.AF_INET6, '\x00\x00\x00\x00\x00\x00\x00\x00\x00\xff\xff\xff\x7f\x00\x00\x00')
Out[39]: '::ff:ffff:7f00:0'
我看到的是
::ffff:127.0.0.1
,我感到惊讶,我期望的应该是::ffff:7f00:0
。这是标准的或至少常见的吗?有哪些IPv6地址是以这种方式表示的?在维基百科文章中完全没有提到。我感到困惑。