Skip to main content
 首页 » 编程设计

python之没有从 inet_aton/struct.unpack 得到正确的结果

2025年05月04日11lexus

在 Windows XP 上使用 python 2.6.5,使用以下代码时似乎得到了错误的结果:

import struct 
import socket 
struct.unpack('L', socket.inet_aton('192.168.1.1'))[0] 

这将返回 16885952,而据我所知它应该返回 3232235777。 我在这里做错了什么吗?我该如何解决这个问题?

请您参考如下方法:

您需要指定字节顺序。它将数字解释为小端,但是 inet_aton 将数字返回为大端。

struct.unpack('>L', socket.inet_aton('192.168.1.1'))[0] 

这应该可以正常工作,并返回您预期的数字。

请参阅有关“struct”的 python 文档以供引用。