擅长:python、mysql、java
<p>如果您使用的是python3.3或更高版本,您可以利用<a href="https://docs.python.org/3/library/ipaddress.html" rel="nofollow">the ^{<cd1>} module</a>来避免重新发明轮子,它甚至提供了一个有用的视图<code>bytes</code>,<code>int.from_bytes</code>可以有效地转换为实际的<code>int</code>:</p>
<pre><code>from ipaddress import IPv4Address
ip_as_addr = IPv4Address("64.233.187.99")
ip_as_int = int.from_bytes(ip_as_addr.packed, 'big')
print(ip_as_int, hex(ip_as_int))
</code></pre>
<p>获取<code>1089059683 0x40e9bb63</code>的输出。在</p>
<p>如果你真的愿意的话,你可以手工完成,我只喜欢上面代码的自我文档化。如果Py 3.3+不是一个选项,则可以通过以下方式获得相同的结果:</p>
^{pr2}$
<p>这只需将八位字节分开,将其转换为<code>int</code>,然后将每个八位字节左移24、16、8和0位(以便正确对齐八位字节),然后允许<code>sum</code>将它们组合成一个<code>int</code>。在</p>