我正在使用 java Mibble 库来处理 MIB 文件并为我的 snmp 代理创建 MIB 实现。并且有一个小问题:
有一个 DisplayString 类型,它是 OCTET_STRING 的表示形式,但只能包含 7 位 ASCII 字符。还有像 AdminString 这样的类型,它是 OCTET_STRING 的另一种表示形式,但可以包含所有 ASCII 字符。
所以我的问题是:如何区分 DisplayString(这样我可以在我的实现中检查大于 126 的字符)和 Admin String?我尝试使用 MibTypeTag[1] 但显然我不知道如何使用它(任何提示?)它说“可以使用相同或相似的原始 ASN.1 类型表示来区分类型(例如作为 DisplayString 和 IpAddress)"
我的书面英语并不完美,所以这就是我想做的:
if (MibTypeTag == DisplayString) {
check for chars greater than 126
}
else if (MibTypeTag == AdminString) {
awesome! nothing to do!
}
提前致谢!
[1] http://www.mibble.org/doc/release/api/net/percederberg/mibble/MibType.html