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

使用Python解码SNMP OctetString为整数的问题求助

SNMP OctetString 解码转整数方案

核心原理

你拿到的1.3.6.1.4.1.11.2.3.9.4.2.1.1.16.1.2.0属于惠普打印设备的专属OID,对应返回的OctetString本质是字节序列,要转整数只需要将每个字符对应的ASCII值按大端序拼接计算即可。

手动计算验证

针对你给出的示例值Hph:

  • 拆分单个字符获取对应ASCII十进制值:H=72、p=112、h=104
  • 大端序计算:72 * 256² + 112 * 256 + 104 = 4747368

代码实现

Python 通用实现

def octet_str_to_int(octet_str: str) -> int:
    # 用latin-1单字节编码避免乱码丢失字节
    byte_seq = octet_str.encode("latin-1")
    return int.from_bytes(byte_seq, byteorder="big")

# 测试你的数据
print(octet_str_to_int("Hph")) # 输出 4747368

PySNMP 专属实现

如果你用PySNMP库获取的原始OctetString对象,直接调用内置方法转换即可:

# snmp_val为PySNMP返回的OctetString实例
byte_seq = snmp_val.asOctets()
result = int.from_bytes(byte_seq, byteorder="big")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 08:54:01