C# 如何获取oid类型八进制字符串的值
我试图通过使用Lextm.SharpSnmpLib.Messaging从Snmp设备获取OID值(字符串格式)。正常OID值正确显示,但在转换包含('-')的Mac地址时,转换不正确,并显示“\u0000 k???”任何转换建议,以下是所附代码C# 如何获取oid类型八进制字符串的值,c#,net-snmp,sharp-snmp,C#,Net Snmp,Sharp Snmp,我试图通过使用Lextm.SharpSnmpLib.Messaging从Snmp设备获取OID值(字符串格式)。正常OID值正确显示,但在转换包含('-')的Mac地址时,转换不正确,并显示“\u0000 k???”任何转换建议,以下是所附代码 IList<Variable> result = Messenger.Get(VersionCode.V1, new IPEndPoint(IPAddress.Parse(sIpAddress
IList<Variable> result = Messenger.Get(VersionCode.V1,
new IPEndPoint(IPAddress.Parse(sIpAddress),
objSNMPv1Setting.Port),
new OctetString(objSNMPv1Setting.CommunityName),
lstOid.Select(x => new Variable(new ObjectIdentifier(x))).ToList(),
objSNMPv1Setting.Timeout);
foreach (var o in result)
{
dictResponce.Add(o.Id.ToString(), o.Data.ToString());
}
OID值:00-20-6B-93-EC-81
o.Data.ToString() = \u0000 k???
o.Data.ToString() = 00-20-6B-93-EC-81
期望
OID值:00-20-6B-93-EC-81
o.Data.ToString() = \u0000 k???
o.Data.ToString() = 00-20-6B-93-EC-81
以“\u0000”开头的字符串是空字符串。看起来这个库并不期待失败,可能只是测试得不够好。只需向作者提交一份bug报告,这是经过设计的。解码对象的实际类型需要MIB文档,而这仅在#SNMP Pro中涉及,正如测试用例所示,在解析MIB文档后,解码器可以正确格式化信息。以“\u0000”开头的字符串是空字符串。看起来这个库并不期待失败,可能只是测试得不够好。只需向作者提交一份bug报告,这是经过设计的。解码对象的实际类型需要MIB文档,而这仅在#SNMP Pro中涉及,正如测试用例所揭示的,通过解析MIB文档,解码器可以正确格式化信息。