我们的产品中有snmp代理,它将系统警报发送到snmp服务器,并且我们的警报可能是Unicode格式的。我们使用第三方lib来发送,默认情况下会将字符串编码为ASKII字节数组。最后,我们在消息上看到了垃圾。
snmp协议是否支持unicode?
发布于 2017-06-30 00:23:25
正如Lex Li已经提到的,SNMP并不关心字符串编码。八位字节字符串只是一个字节数组。因此,当您必须处理本地化/国际化时,正确的解决方案绝对是使用UTF-8编码/解码。但请记住,在toString()
等方法中,SNMP4J和许多其他库将字节数组视为ASCII字符串。因此,您必须编写自己的扩展。
发布于 2017-07-01 22:20:33
SNMP代理作业负责正确本地化消息。SNMP管理工具的工作是对消息进行正确解码。
WireShark跟踪将显示您的代理是否在网络上放置了正确的字节数组。如果消息是Unicode,则字节应以有效的Unicode前同步码开头。
此外,根据您的设备类型,代理的MIB中还有其他区域可帮助管理工具正确解码消息。
例如,打印机的prtLocalizationTable应该显示对Unicode的支持,而prtGeneralCurrentLocalization则帮助管理工具知道如何正确解码消息。
https://stackoverflow.com/questions/44668892
复制相似问题