我想得到一个ip地址的字节表示(大端,4字节)。
我使用的是Python 2,我使用的是这个模块:https://github.com/phihag/ipaddress
如果我想获得127.0.0.1
的字节表示,我会得到预期的结果。
>>> ip_address(u'127.0.0.1').packed
'\x7f\x00\x00\x01'
但对于52.4.20.183
,我得到了这个结果:
>>> ip_address(u'52.4.20.183').packed
'4\x04\x14\xb7'
这种格式对我来说很奇怪,特别是领先的4
。我原以为是\x34\x04\x14\xB7
。但显然,两者都是一样的:
>>> ipaddress.IPv4Address(b'4\x04\x14\xb7')
IPv4Address(u'52.4.20.183')
>>> ipaddress.IPv4Address(b'\x34\x04\x14\xB7')
IPv4Address(u'52.4.20.183')
为什么52.4.20.183
4\x04\x14\xb7
的格式以及在哪里可以找到有关它的更多信息?
答案 0 :(得分:2)
字符'4'
和'\x34'
是等效的。两者都代表值52。