You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何将netlink socket TLV中4字节IPv4地址转为点分十进制字符串

解决方案

你可以直接使用Python标准库socket模块内置的inet_ntoa方法,一行就能完成转换,不需要手动遍历拼接:

ip_str = socket.inet_ntoa(rta_data[:4])

方法说明

  • socket.inet_ntoa()专门用于将32位(4字节)的打包IPv4地址转换为点分十进制的字符串格式,刚好匹配你从netlink TLV中拿到的4字节序列格式
  • 示例:如果输入是b'\x01\x02\x03\x0b',调用后直接返回字符串1.2.3.11,和你给出的测试用例完全匹配

无socket依赖的替代写法

如果有特殊场景不想依赖socket模块,也可以用生成器表达式一行完成拼接:

ip_str = '.'.join(str(b) for b in rta_data[:4])

内容的提问来源于stack exchange,提问作者Mark

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 19:45:04