所以这很简单,但我无法正常工作。我想,例如,如果输入的IP地址字符串为“168.108.114.22”,将其转换为一个字节对象像:在Python中将IP地址字符串正好转换为4个字节
\xA8\x6C\x72\x16
基本上IP地址的每一部分被转换为它的等效十六进制。
我已经尝试了很多方法,但无法得到我想要的。字符串操作,使用socket.inet_aton,打包等。我希望能够通过套接字发送这些字节,然后在另一端接收并解析它们,但是我只是让创建的字节对象看起来像这样。
所以这很简单,但我无法正常工作。我想,例如,如果输入的IP地址字符串为“168.108.114.22”,将其转换为一个字节对象像:在Python中将IP地址字符串正好转换为4个字节
\xA8\x6C\x72\x16
基本上IP地址的每一部分被转换为它的等效十六进制。
我已经尝试了很多方法,但无法得到我想要的。字符串操作,使用socket.inet_aton,打包等。我希望能够通过套接字发送这些字节,然后在另一端接收并解析它们,但是我只是让创建的字节对象看起来像这样。
这
ip='168.108.114.22'
b_out = bytes(map(int,ip.split('.')))
print(b_out)
在巨蟒-3产生
b'\xa8lr\x16'
这应该是你在找什么,如果我理解正确。
注:也有更具体和优化效用函数来处理IP地址
我将如何转换这回IP地址的插座的另一端?如果我通过这种方式发送它,使用inet_aton转换后。 – user2055216
[ntoa](https://docs.python.org/3/library/socket.html?highlight=aton#socket.inet_ntoa)即network-to-ascii(它们都来自好C) – Pynchia