将 IP 地址转换为二进制表示形式



我想获取IP地址的字节表示形式(大端序,4个字节(。

我正在使用Python 2,我正在使用这个模块:https://github.com/phihag/ipaddress

如果我想得到127.0.0.1的字节表示,我得到预期的结果。

>>> ip_address(u'127.0.0.1').packed
'x7fx00x00x01'

但是对于52.4.20.183,我得到这个结果:

>>> ip_address(u'52.4.20.183').packed
'4x04x14xb7'

这种格式对我来说看起来很奇怪,尤其是领先的4.我期待它x34x04x14xB7.但显然,两者都是一样的:

>>> ipaddress.IPv4Address(b'4x04x14xb7')
IPv4Address(u'52.4.20.183')
>>> ipaddress.IPv4Address(b'x34x04x14xB7')
IPv4Address(u'52.4.20.183')

为什么是52.4.20.183 4x04x14xb7格式,在哪里可以找到有关它的更多信息?

字符 '4''x34' 是等效的。两者都表示值 52。

相关内容

最新更新